如果微服务a不健康,如何实现负载平衡器如何使用断路器向健康的微服务b或c发送请求?

y0u0uwnf  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(366)

我正在使用java进行spring boot中的微服务体系结构,需要以下场景的帮助:
如何在spring boot中实现-如果microservice a不健康,那么负载平衡器如何使用断路器向健康的microservice b或c发送请求。
我不熟悉微服务体系结构,请与我联系,或者与我分享任何我可以参考的文档,以便更好地理解。
如果任何人有任何其他方法来实现这一目标,建议和评论是最受欢迎的!
提前谢谢。

7eumitmz

7eumitmz1#

不确定我是否正确理解了你。
您的服务可以由协调器(例如kubernetes)监控示例是否健康/不健康。它调用服务的特殊端点(例如spring boot actuator->/actuator/health)。如果两个示例中有一个是不健康的,而kubernetes应该提供其中的两个,那么它将摧毁不健康的示例并产生新的示例。
负载平衡器本身带有多种算法,以确定哪个示例作为产品的一部分获得客户端请求(例如,最少的连接、最少的响应时间、循环和ip哈希)。您需要将应用程序的示例添加到loadbalancer(取决于您的环境)。
断路器位于应用程序内部,用于处理服务和正在使用的远程服务之间的通信故障。负载平衡器也可以使用这种模式,但正如前面提到的,这取决于他们。

yzckvree

yzckvree2#

您应该将zuul代理与eureka服务器一起使用检查此项

相关问题