LMAX Disruptor vs JMS Provider

I was told for some time about the LMAX break and how comparable it is to standard message queues. I downloaded the latest version and saw that it was a regular JAR that contains many classes and types that all revolve around their ultrafast RingerBuffer object.

Ultimately, in the end, a queue-based JMS provider will simply boil down to a lot of code that manages a Java queue object (or rather, a parallel queue). Therefore, in this regard, I see a comparison of the LMAX Disruptor and the JMS provider (more precisely, the internal queue).

But a JMS provider is much more than a few queues. This is a comprehensive software for processing messages from consumers and manufacturers. I am wondering if there is a JMS equivalent in LMAX?

It would be nice to connect to the Disruptor Broker in the same way as any other JMS broker, and read / write messages to / from it.

Is there anything similar, or am I not in the database here?

+3
source share
2 answers

The main difference is that Disruptor is designed to work in the same process. What for? For performance reasons (short answer). The longer answer is that if you are not careful, the extra overhead of using JMS interfaces, socket connections, blocking, and multiple threads will have much higher overhead, which outshines Disruptor.

JMS 20 000 , 20 . , , , JMS, . (. )

+7

, (CRUD, ORM ..). , , (), , , () // . ActiveMQ, .

Disruptor ( Reactor, ), ( ). Disruptor - FIFO .

Disruptor JMS:

  1. , , .
  2. , .
  3. , - TCP-, .
  4. Disruptor , ( ) , .

0

All Articles