当服务发现失败时,微服务如何相互通信

问题描述 投票:0回答:1

服务注册中心宕机后,微服务A如何与微服务B通信?

我尝试与微服务 A 中添加的微服务 B 的端口 ID 进行通信,但实时情况如何,这是正确的方法吗?

amazon-web-services microservices apache-zookeeper netflix-eureka api-gateway
1个回答
0
投票

服务发现在某种意义上类似于约会应用程序。一个服务想要找到另一个服务来交谈,因此它使用服务发现来找到合适的服务。

如果一个人正在寻找某人但没有约会应用程序,他们会怎么做?他们可能会让朋友为他们安排认识的人。这就像使用其他服务的详细信息手动配置该服务一样,如果朋友为您介绍了一个消失的人,那么它就很脆弱。朋友基本上是一个有点有限的(也许不可靠,尽管以不同的方式)约会应用程序,手动配置实际上只是另一种(静态)服务发现。您可以通过允许配置动态更新而无需重新部署(例如,拥有一个可以更新配置的 API 端点)来减少静态性,这有点像能够在另一个人之后调用朋友消失询问他们是否认识其他人。

另一种选择可能是去一些很多人闲逛的地方并尝试交往。这有点类似于将消息发布到队列/主题并希望感兴趣的服务订阅(我知道,这有点推动了类比),并且它还遇到了一个小限制,即如果您需要服务发现来查找消息传递系统,您回到了第一个地方。

更广泛的一点是,这就像问“当我无法见到人时,我如何才能见到人”:你已经将答案内置到了问题中。

© www.soinside.com 2019 - 2024. All rights reserved.