如何使Java Spring Boot服务自动具有弹性/冗余/容错能力?

时间:2018-06-29 13:44:35

标签: java spring-boot architecture redundancy resiliency

我们有一个与外部供应商进行通信的Java Spring Boot服务/流程。它不是使用docker等进行部署的。它基本上会发送一些查询,并从这些供应商那里消耗大量数据,然后对其进行一些转换,然后以请求/响应格式将其发送到另一个外部(对我们的团队而言)消息系统。让我们称之为DataDistributorService。这是一种低延迟的服务,我们也要维护应用程序的状态。例如我们想记住,在进程崩溃之前,它向VendorA发送了query10并从VendorC等接收了msg4000。它的调用者也需要具有某种状态。显然,尽我们所能。

我们要在此服务中建立弹性/容错能力。它是一种低延迟的有状态系统,将在主动/被动环境中运行,而不是负载平衡。

当前,我想到的设计是拥有一个容错mgmg系统,该系统侦听来自主动和被动过程的心跳,并且来自主动过程的数据/状态将通过消息传递系统kafka传递给被动实例。 ?如果它没有收到心跳信号,比如说5秒,则容错系统将切换主动/被动模式。关于这种开源容错mgmt系统的任何建议?春季靴特有的图案吗?

我是设计此类系统的相对新手。因此有一些疑问。任何建议将不胜感激。我发现有关此主题的信息(特别是实用级别的指导)在网络上非常稀疏。也许我正在搜索错误的术语,在这种情况下,请引导我转到正确的链接。

干杯

0 个答案:

没有答案