集群微服务组件

Clustering Microservice Components

我们在生态系统中有一组相互协作的微服务。我们过去偶尔会遇到一个或多个微服务意外宕机的问题。值得庆幸的是,我们建立了一些监控机制,可以意识到这一点并采取纠正措施。

现在,我们希望围绕每个微服务构建冗余。我在想更像是一种主/从方法,其中一个奴隶总是待命,当主人离开时,奴隶将它捡起来。

我们是否应该考虑使用任何可以用作服务注册表的框架,在其中注册每个微服务并允许它们受到控制?关于如何使用微服务实现那种主/从架构的任何其他建议,这将使我们能够拥有故障转移冗余?

我考虑了几分钟,根据经验,这是我目前认为最好的方法。

您将面临几个可用性问题。首先是始终至少有一个端点。通过在多台服务器上安装,这很容易做到。在企业 space 中,您可以为端点使用一个名称,然后将其解析为多个服务器(虚拟或硬件)。您还将对其进行负载平衡。

第二个是注册表。这是 API 管理软件很容易出现的问题。这个 space 中真正好的软件并不便宜,所以这不是周末爱好者类型的软件。但是那里有开源 API 管理解决方案。由于我在企业 space 工作,我对 Apigee、CA、Mashery 等选项非常熟悉,因此我不能推荐开源选项并且对自己感觉良好。

如果需要,您可以建立自己的注册表。请注意您的设计方式,因为 "registry of all interface points" 会导致服务变得更加紧密。