[rabbitmq-discuss] Monitoring delivery of async messages

McIntosh Jason mcintoshj at gmail.com
Mon May 19 15:21:02 BST 2014


We publish a message back after processing a batch to say how much data was processes for that batch.  Then the original publisher consumes those messages and republishes anything that was missed.  It's not quite a two phased commit but it works for us,
Jason

Sent from my iPhone

> On May 19, 2014, at 5:09 AM, Michael Klishin <mklishin at gopivotal.com> wrote:
> 
> On 19 May 2014 at 13:08:33, Billy Stack (bs.stack at gmail.com) wrote:
>>> Due to the importance of performance, we do not have any "acking"  
>> going on - so all messages are effectively "fire and forget"
> 
>> We have a "reporting application" that subscribes to the messages  
>> and creates reports.
>> The problem is that these reports are also critical - i.e. we cannot  
>> afford to have messages that go missing/get dropped etc
>> 
>> So the question I have is how do we go about monitoring the all message  
>> data is in the reporting application i.e. what do people usually  
>> do in a scenario like this?
> 
> Use publisher confirms and delivery confirmation. Both (primarily the former)
> will have performance effect but that's just how things are in distributed
> systems: throughput is at odds with confirmations, which is the only way
> to know that the peer got your message.
> 
>> We were thinking of writing a database script that looks at the  
>> database of the "web application" and "reporting application"  
>> and compares results - but this certainly does not feel right!  
> 
> If you know how to perform repairs when the two get out of sync, this is not unreasonable. 
> --  
> MK  
> 
> Software Engineer, Pivotal/RabbitMQ
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list