[rabbitmq-discuss] How to assure response even if rpc server goes down.

Jesper Louis Andersen jesper.louis.andersen at gmail.com
Wed Nov 27 10:29:47 GMT 2013


A trick is to make your messages idempotent. Then you can reissue the same
request again after a timeout, should you have had no response yet. It is a
protocol design trick that often helps because it circumvents the problem
of keeping state entirely. Also look at "best effort" delivery.


On Tue, Nov 26, 2013 at 11:18 PM, Alvaro Videla <videlalvaro at gmail.com>wrote:

> Also I think it might be worth mentioning the "Publisher Confirms"
> feature of RabbitMQ: http://www.rabbitmq.com/confirms.html in case you
> need to be sure a message was taking care by the server.
>
> -Alvaro
>
> On Tue, Nov 26, 2013 at 11:14 PM, Michael Klishin
> <mklishin at gopivotal.com> wrote:
> >
> > On 26 Nov 2013, at 23:35, Alfonso Alvz <alfonso.alvz at gmail.com> wrote:
> >
> >> I was wondering if there's is a way to make the messages persistent in
> case the server fails?. If the client sends a message with no server
> running, it stays there awaiting for the response and it doesn't get
> anything once the server goes up again..
> >
> > Accumulate messages in the client and re-publish them when a new
> connection is up. Note that to really
> > make this work you’ll need to have a WAL (write-ahead log) of messages
> on disk to significantly reduce
> > message loss probability when your publisher crashes, runs out of
> memory, etc.
> >
> >>
> >> Having a configuration like this:
> >> If the server disappears, is there a way to resume the process whenever
> the server is up again?
> >
> > Some clients support automatic recovery but currently don’t provide
> WAL’s. 3rd party projects built on top
> > of clients (e.g. Hutch, Celery or EasyNetQ) may choose to provide WAL
> and more advanced features
> > but it is currently out of scope for the protocol clients.
> >
> > Message durability controls whether the message will be stored on disk
> by RabbitMQ. It has no effect
> > on what happens when you publish messages on a closed connection.
> >
> >
> > 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
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>



-- 
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131127/a32e70fa/attachment.htm>


More information about the rabbitmq-discuss mailing list