我正在使用java进行spring boot中的微服务体系结构,需要以下场景的帮助:
如何在spring boot中实现-如果microservice a不健康,那么负载平衡器如何使用断路器向健康的microservice b或c发送请求。
我不熟悉微服务体系结构,请与我联系,或者与我分享任何我可以参考的文档,以便更好地理解。
如果任何人有任何其他方法来实现这一目标,建议和评论是最受欢迎的!
提前谢谢。
我正在使用java进行spring boot中的微服务体系结构,需要以下场景的帮助:
如何在spring boot中实现-如果microservice a不健康,那么负载平衡器如何使用断路器向健康的microservice b或c发送请求。
我不熟悉微服务体系结构,请与我联系,或者与我分享任何我可以参考的文档,以便更好地理解。
如果任何人有任何其他方法来实现这一目标,建议和评论是最受欢迎的!
提前谢谢。
2条答案
按热度按时间7eumitmz1#
不确定我是否正确理解了你。
您的服务可以由协调器(例如kubernetes)监控示例是否健康/不健康。它调用服务的特殊端点(例如spring boot actuator->/actuator/health)。如果两个示例中有一个是不健康的,而kubernetes应该提供其中的两个,那么它将摧毁不健康的示例并产生新的示例。
负载平衡器本身带有多种算法,以确定哪个示例作为产品的一部分获得客户端请求(例如,最少的连接、最少的响应时间、循环和ip哈希)。您需要将应用程序的示例添加到loadbalancer(取决于您的环境)。
断路器位于应用程序内部,用于处理服务和正在使用的远程服务之间的通信故障。负载平衡器也可以使用这种模式,但正如前面提到的,这取决于他们。
yzckvree2#
您应该将zuul代理与eureka服务器一起使用检查此项