编程语言
首页 > 编程语言> > java – LMAX Disruptor vs JMS Provider

java – LMAX Disruptor vs JMS Provider

作者:互联网

我被告知有一段时间LMAX干扰器以及与标准消息队列相比的性能如何.我下载了最新版本,看到它是一个普通的JAR,包含许多类和类型,都围绕着它的超快速RingerBuffer对象.

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

但是JMS提供者不仅仅是几个队列.它是一个完整的中间件应用程序,用于处理来自/来自消费者和生产者的消息.我想知道在LMAX土地上是否有JMS提供商?

以与任何其他JMS代理类似的方式连接到“Disruptor Broker”并向/从其读取/写入消息将是很好的.

这样的事情是存在的,还是我离开这里?

解决方法:

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

快速JMS服务每秒可处理超过20,000条消息,但破坏程序的设计目的是处理2000万条消息的速率.要实现这一点,这意味着您无法执行JMS假定的某些事情. (往上看)

标签:java,concurrency,message-queue,jms
来源: https://codeday.me/bug/20190826/1729460.html