如何实现对不同微服务的负载均衡访问(使用ribbon、Springboot)

How to get load balanced access to different microservices ( Using ribbon, Springboot)

考虑一个场景:MasterApp( microservice 1)需要调用AssistApp( Microservice 2)获取数据集AtertiaryApp ( microservice 3)获取数据集B。 每个`微服务(2 和 3)都有 3 个需要负载平衡的实例(Ribbon 用于客户端负载平衡)。 你能告诉我我应该如何准备吗application.properties。我不能将所有 6 个实例都放在 属性 list of servers 下。

我搜索了google(github 和其他论坛中的 Dzone、nginx、spring 示例),但我无法找到此场景的结论.

通常,您不应在 application.properties 中配置任何内容。 我认为您的 application.properties 中已经有一个参数 spring.application.name。此外,您已将您的应用程序注册到 Eureka。

那么你的电话应该是:

restTemplate.getForObject("http://SERVICE_NAME/xx/yy")

您不需要关心您的 3 个实例 ip/port,只需让它们保持相同的应用程序名称即可。

另外,你要考虑Feign,它会更符合你的要求。