我正在读这个question和corresponding answer并且在答案的第一行被JMS经纪人一词搞糊涂了:
MS(ActiveMQ是JMS代理实现)
我想知道JMS broker
究竟是什么,它的职责是什么?
Wikipedia page on JMS列出了JMS生态系统中的几个元素,但未提及经纪人本身。
答案 0 :(得分:48)
对于JMS代理是什么没有真正的官方定义,但是消息队列和代理之间存在概念上的差异。这是我的看法。
message broker
将是一个单独的进程,可能在负责运行消息处理代码的单独机器上运行。消息代理的重要价值在于它们可以为您同时处理消息,处理逻辑的故障转移,处理逻辑的部署,监视和记录等做一些非常好的事情......等等。作为用于编写消息处理代码的专用应用程序服务器,可能采用自定义高级语言。例如,IBM消息代理可以在ESQL中编程,即SQL的扩展,以及您相互连接的图表和节点。为消息borker编写的程序将比使用普通JMS自己编写所有代码的程序短。
经纪人可以集中或分散,例如,你可以在纽约有一个中央经纪人,在伦敦和香港有客户连接。或者你可以让经纪人分发并在伦敦和香港运行一个实例,使消息处理更接近消息的源/目的地,它将全部取决于你的管理基础设施和消息经纪人的数据库等其他资源需要交谈。