我对这个话题非常好奇。 我将为内部系统创建一个通信机制,也可能还需要连接到一些外部客户端。内部模块也是分布式系统。 我需要在这些模块之间创建一个ESB。该系统应该为数百万用户提供高性能。
发布订阅或p2p通信都是必需的,
当我第一次开始考虑实现时,我计划在前面制作REST api,REST api将与JMS总线通信.JMS总线能够在内部系统之间提供通信。
不幸的是,根据我的调查,使用JMS可能会导致严重的问题:性能,可伸缩性......看起来像JMS是不必要的,我可以在内部模块上创建一些适配器,并且两者都可以与REST服务进行通信。
有谁知道我为什么要使用JMS进行内部沟通?
答案 0 :(得分:3)
REST和JMS / MQ都支持远程系统(和本地)之间的通信。您可以根据以下方案获得帮助: 在您的情况下使用JMS的一些原因:
使用REST API的原因(没有连接任何jms):
1.您希望立即响应交易完成。例如,酒店预订等
2.所有系统应始终处于完成处理状态。
答案 1 :(得分:0)
如果不必依赖所有可用的系统,您可能希望使用JMS(或企业消息传递)。因此,如果您的某个内部系统由于某种原因而关闭,那么当与该系统通信时,REST api接口将失败,但是当您与MOM通信时,JMS接口将不会。
对于某些MOM,您不必只使用JMS进行通信,因此可以让不同的运行时与MOM进行通信。