title: Create multiple Ribbon clients dynamically
body: <p>I have a spring microservices architecture application but we aren't using eureka or any other service discovery. My requirement is to create a dynamic load balancer. So, for each services there will be unique and dynamic set of servers. 
  The configuration will be something like:</p>
  
  <pre><code>ribbon:
    listOfServices: say-hello-service, say-hi-service
  </code></pre>
  
  <p>What I don't want to do is, repeat <code>@RibbonClient</code> annotation for each service client that I will use. 
  I found out that <code>RibbonClientSpecification</code> is the key component of the Ribbon factory. If I register it with names <code>say-hello-service.RibbonClientSpecification</code> and <code>say-hi-service.RibbonClientSpecification</code>, it will try to call respective service even though I don't have <code>@RibbonClient</code> and any Ribbon related configuration. So my questions are</p>
  
  <ol>
  <li>Why is <code>@RibbonClient</code> annotation necessary since we can identify the services from the properties defined? It seems to me that, it is redundant what we have to define ribbon properties in properties file and as well as have the annotation with same name.</li>
  <li>How do I register load balancers for each ribbon client that I create dynamically?</li>
  <li>What is the right of creating multiple ribbon clients dynamically without having multiple <code>@RibbonClient</code> configuration classes?</li>
  </ol>