gpt4 book ai didi

jms - JMS 生态系统中 JMS 代理的职责是什么?

转载 作者:行者123 更新时间:2023-12-03 07:59:35 29 4
gpt4 key购买 nike

我正在读这个 questioncorresponding answer并被答案第一行中的术语 JMS broker 弄糊涂了:

MS (ActiveMQ is a JMS broker implementation)



我想知道什么是 JMS broker它的职责是什么?

Wikipedia page on JMS列出了 JMS 生态系统中的几个元素,但没有提到经纪人本身。

最佳答案

JMS 代理是什么并没有真正的官方定义,但是消息队列和代理之间存在概念上的区别。这是我的看法。

  • 消息队列只查看消息头以确定将消息发送到哪里,消息队列不会检查消息正文或执行任何转换消息正文内容的代码。消息队列的任务是传递消息,最终一次且仅一次,并按顺序将它们发送出去。
  • 消息代理提供了一个编程环境,您可以在其中轻松高效地编写消息转换代码。例如,您可能需要将消息的内容从格式 A 转换为格式 B,并且您不希望必须重新编写使用格式 A 的旧客户端,因此您编写了一个消息转换器程序并将其部署到消息中经纪人。在这种情况下,message broker将是一个单独的进程,可能运行在负责运行消息处理代码的单独机器上。

  • 消息代理的重要值(value)在于它们可以为您做一些非常好的事情,用于并发处理消息、处理逻辑的故障转移、处理逻辑的部署、监控和日志记录……等等。将消息代理视为专门的用于编写消息处理代码的应用程序服务器,可能使用自定义的高级语言。例如,IBM 消息代理可以在 ESQL 中编程,它是 SQL 的扩展以及相互连接的图表和节点。与您自己使用普通 JMS 编写所有代码相比,为消息代理编写的程序会更短。

    经纪人可以是集中式的,也可以是分布式的,例如你可以在纽约有一个中央经纪人,在伦敦和香港有一个客户连接到它。或者您可以分发代理并在伦敦和香港运行一个实例,该实例在更靠近消息源/目的地的位置进行消息处理,这完全取决于您的管理基础设施以及消息代理数据库等其他资源需要交谈。

    关于jms - JMS 生态系统中 JMS 代理的职责是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152648/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com