带有故障转移的 IBM Liberty 消息消费

IBM Liberty message consumption with fail-over

我们正在设计一个解决方案,它将使用 JMS 使用来自 IBM MQ 的消息。计划是使用 WAS Liberty,因此 JMS 是首选技术。我们将创建 Message-Drive bean,它将侦听 MQ 队列中的消息。

我们也在考虑 WAS Liberty 和 OpenLiberty。

这里的技巧是我们必须通过故障转移来实现它,这样如果我们的一个服务器发生故障,另一个将继续自动使用来自 MQ 的消息。就像在 ative/passive 机制中一样。

我知道需要安装 MQ 适配器,因为它不是开箱即用的。

我有以下问题:

  1. WAS Liberty 消息传递实现是否支持故障转移?也就是说,如果主消息消费节点出现故障,备节点会自动迁移并开始消费来自MQ的消息? OpenLiberty 怎么样?
  2. 如何配置消息系统以这种方式工作?你能指出文档吗?

或者此功能仅由 WebSphere 提供?

WebSphere Liberty 或 Open Liberty 中还没有这样的功能。您可以在此处创建 RFE https://www.ibm.com/developerworks/rfe/?PROD_ID=544。 有多种方法可以手动完成,请查看以下链接:

您可以解决的问题:

  • 创建一个 script/application 来监控您的服务器并将其 API 调用到特定服务器中的 enable/disable 端点
  • 或使用 Liberty 的动态集群/自动缩放功能,将您的应用程序划分为两个集群 - 一个带有 MDB,一个没有。然后定义 MDB 集群有 1 个实例始终可用的策略。所以一旦服务器挂掉,它就会在集群的某个地方自动重启
  • 或以相同的方式使用Kubernetes/ICP平台——因此部署2个版本的应用程序,并定义不同的副本集参数。