gpt4 book ai didi

java - LMAX Disruptor 与 JMS 提供者

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:31:32 25 4
gpt4 key购买 nike

不久前有人告诉我有关 LMAX 干扰器以及它与标准消息队列相比的性能如何。我下载了最新版本,发现它是一个普通的 JAR,其中包含许多类和类型,它们都围绕着它的超快 RingerBuffer 对象。

归根结底,基于队列的 JMS 提供程序最终将归结为大量管理 Java 队列对象(或者更可能是并发队列)的代码。所以在这方面,我看到了 LMAX Disruptor 和 JMS 提供者(或者更确切地说,它是内部队列)之间的比较。

但是 JMS 提供者远不止几个队列那么简单。它是一个完整的中间件应用程序,用于处理消费者和生产者之间的消息传递。我想知道 LMAX 领域是否有等效的 JMS 提供程序?

如果能以与任何其他 JMS 代理类似的方式连接到“Disruptor Broker”,并向其中读取/写入消息,那将会很好。

是否存在这样的事情,或者我在这里偏离基地了吗?

最佳答案

主要区别在于 Disruptor 设计为在同一进程中工作。为什么?出于性能原因(简短的回答)。更长的答案是,如果你不小心,使用 JMS 接口(interface)、套接字连接、锁定和多线程的额外开销将有更高的开销,这使 Disruptor 相形见绌。

一个快速的 JMS 服务每秒可以处理超过 20,000 条消息,但 disruptor 设计为处理每秒 2000 万条以上的消息速率。要实现这一点,这意味着您不能做某些 JMS 认为可以的事情。 (见上文)

关于java - LMAX Disruptor 与 JMS 提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10337664/

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