微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何实现——如果微服务 A 不健康,那么负载均衡器如何使用 CircuitBreaker 向健康的微服务 B 或 C 发送请求?

如何解决如何实现——如果微服务 A 不健康,那么负载均衡器如何使用 CircuitBreaker 向健康的微服务 B 或 C 发送请求?

我正在使用 java 在 Spring Boot 中研究微服务架构,需要以下场景的帮助:

如何在 Spring Boot 中实现 - 如果微服务 A 不健康,那么负载均衡器如何使用断路器向健康的微服务 B 或 C 发送请求。

我是微服务架构的新手,请帮我解决这个问题,或者请分享我可以参考的任何文档以更好地理解。

如果有人有任何其他方式来实现这一目标,欢迎提出建议和意见!

提前致谢。

解决方法

不确定我是否理解正确。

您的服务可以由协调器(例如 Kubernetes)监控,以了解健康/不健康的实例。它调用服务的特殊端点(例如 spring-boot-actuator -> /actuator/health)。如果两个实例中的一个不健康,而 Kubernetes 应该提供其中的两个,它将销毁不健康的实例并创建一个新的实例。

作为产品的一部分,LoadBalancer 本身带有各种算法来确定哪个实例获取客户端请求(例如最少连接、最少响应时间、循环和 IP 哈希)。您的工作是将应用程序的实例添加到 LoadBalancer(取决于您的环境)。

断路器位于您的应用程序中,用于处理您的服务和您正在使用的远程服务之间的通信故障。 LoadBalancer 也可以使用这种模式,但如前所述,这取决于他们。

,

你应该在 eureka 服务器上使用 zuul 代理 check this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。