我有一个spring微服务架构应用程序,但我们没有使用eureka或任何其他服务发现。我的要求是创建一个动态负载均衡器。因此,对于每个服务,将有唯一且动态的服务器集。 配置将类似于:
ribbon:
listOfServices: say-hello-service, say-hi-service
我不想做的是,为我将使用的每个服务客户端重复@RibbonClient
注释。
我发现RibbonClientSpecification
是Ribbon工厂的关键组件。如果我使用名称say-hello-service.RibbonClientSpecification
和say-hi-service.RibbonClientSpecification
注册它,即使我没有@RibbonClient
以及任何与功能区相关的配置,它也会尝试调用相应的服务。所以我的问题是
@RibbonClient
注释是必要的,因为我们可以从定义的属性中识别服务?在我看来,我们必须在属性文件中定义功能区属性,并且具有相同名称的注释,这是多余的。@RibbonClient
配置类的情况下,动态创建多个功能区客户端的权利是什么?答案 0 :(得分:0)
您可以将其用作
@RibbonClient("{services1,service2}")
无需一直为不同的服务指定或创建新的功能区。