This is the exact point of a messaging broker. That you hand control of the 
message to it decoupling the producers from the consumers. As such you will get 
an ack on the producer as soon as the broker receives the message and has met 
the persistence and replication requirements that you configured when creating 
the broker.




Persistence is configurable at the journal config level by default it will use 
NIO and requires pesistent messages to flush to disk before ack.




Replication this is very dependant on the ha setup you have. 


If you're using shared storage for ha there is none as the disk where sharing 
of data between master and slave occurs. If you're using master slave 
replicated pair, then the master will replicate to slave before ack occurs.




This is in documention so i would heavily suggest reading it before setting up 
brokers especially before going to production.




Get Outlook for Android







On Tue, Mar 12, 2019 at 10:07 PM +0000, "artemisn00b" <prahlad.mi...@nokia.com> 
wrote:










Suppose I have a symmetric cluster of 3 artemis servers. I send a message to
server 1, and it forwards it to other servers who have consumers. Now, when
exactly does the producer get an ACK?

I have a couple of scenarios where I wouldn't be able to figure out how it
works -

A) Server 1 forwarded a message to Server 2 and Server 3, and before
receiving the message, both the servers go down. Would I still receive the
ACK?

B) Server 1 forwarded a message to Server 2 and Server 3, and both receive
the message but before they send an ACK, they go down. Would I still receive
the ACK?

So, TLDR - I want to know when exactly does an Artemis server send an
acknowledgement, given I'm using auto acknowledge. Is it right after server
1 receives the message, or after all servers receive it, or after server 2
and server 3 send an ACK to server 1? Hope I'm clear enough!

Thanks! :)



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html





Reply via email to