如何实现对不同微服务的负载均衡访问(使用ribbon、Springboot)
How to get load balanced access to different microservices ( Using ribbon, Springboot)
考虑一个场景:MasterApp( microservice 1)
需要调用AssistApp( Microservice 2)
获取数据集A
和tertiaryApp ( 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
,它会更符合你的要求。
考虑一个场景:MasterApp( microservice 1)
需要调用AssistApp( Microservice 2)
获取数据集A
和tertiaryApp ( 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
,它会更符合你的要求。