Open Queueing Solutions for Search, mark completed, then delete

I am considering open source queuing platforms that allow me to do the following: I have several producers, several consumers queue data in a multi-threaded environment with a specific use case: I want consumers to be able to do the following

  • Take a look at the message from the queue (which should be marked as an invisible message in the queue so that other consumers cannot use the same message)
  • The consumer is working on the consumed message and, if he is able to successfully complete this work, he marks the message as consumed, which should permanently remove it from the queue.
  • If a consumer dies suddenly after marking the message as consumed or cannot recognize successful consumption after a certain timeout, the message becomes visible again in the queue so that another consumer can pick it up.

I watched RabbitMQ, hornetQ, ActiveMQ, but I'm not sure I can get this functionality out of the box, any recommendations on a system that gives me this functionality?

+3
source share
4 answers

RabbitMQ , -. , , . pull-mode ( "Basic.Get" ) push-mode/subscribe-mode ( "Basic.Consume" ), .

+2

hornetq . "", . , , .., . , .

, , . , , -...

+2

, , JMS, JMS.

+1

, , , CORBA, COM .

, .

Given this, I would prefer to start with RabbitMQ and possibly improve it if necessary.

In many ways, you can understand AMQP , but it's worth it, and I believe that this will allow you to do this work.

Even if you cannot get the exact functionality out of the box, the important question is whether you can do this, and I'm sure I could. After all, this is the source.

0
source

Source: https://habr.com/ru/post/1743579/


All Articles