关于IBM MQ与AWS的前提集成

问题描述

有没有一种方法可以在本地IBM MQ与AWS SQS / API网关之间进行集成。我检查了很多链接,但是发现我们可以将整个IBM MQ迁移到AWS MQ,但是不能从AWS调用到前提MQ。请建议是否有人尝试过这种集成。

解决方法

我假设您有一个与SQS集成的基于AWS的应用程序和一个与IBM MQ集成的内部部署应用程序,并且最终您希望在这两个应用程序之间进行有效的通信。 在功能级别上,IBM MQ提供了一个客户端接口,并且该接口与AWS SQS接口之间的桥梁相对简单。要考虑的一个重要方面是非功能性方面。 IBM MQ客户端可以直接通信回本地MQ实例,也可以通过AWS MQ实例。尽管直接与本地MQ实例进行通信似乎更为直接,但仍有一些注意事项可能意味着AWS中的MQ实例是更明智的方法。

  • 应用程序经常使用IBM MQ来确保交付能力, 通过建立到AWS SQS的桥梁来保证交付 提供者存在消息丢失或重复的风险 (取决于桥接逻辑的实现)。最小化 您想确保发生这种情况的机会 MQ,网桥和SQS实例之间的可靠网络。这个 删除所有脆弱的网络链接,因为MQ可以传输消息 可靠地从本地部署到AWS部署的MQ实例 任何网络问题都是透明的。
  • 与两个交换消息的MQ实例相比,MQ Client相对比较健谈。由于本地和AWS数据中心之间的网络延迟,MQ Client的易用性会影响解决方案的整体性能。

因此,通常明智的做法是在您的AWS可用性区域中安装MQ的轻量级实例,并允许MQ将消息从本地有效且可靠地传输到AWS。为了帮助您快速启动并运行,您可以在DockerHub here上免费获取IBM MQ开发人员容器。

,

我在OnPremise服务器上创建了一个SQS适配器,然后直接从那里调用我的SQS。