[zeromq-dev] Implementing failover in client side

Jaime Fernández jjjaime at gmail.com
Fri Oct 29 21:17:13 CEST 2010


This message is related with the thread:
http://lists.zeromq.org/pipermail/zeromq-dev/2010-October/006799.html
but I'm afraid that I cannot reply to that message.

I found the same problem when trying to use REQ/REP with several servers,
but one of the server crashed. I think that the analysis proposed by Iñaki
(in http://lists.zeromq.org/pipermail/zeromq-dev/2010-October/006799.html)
is exactly the behaviour that I would expect. Or at least some mechanims to
set up a timeout to a socket so that I can remove the non-responding server
from the list.

Pieter has proposed a very interesting design based on an intermediary (a
queue). However, from my point of view, this may be sometimes a drawback
because the queue is a unique point of failure. Now if the queue is
anavailable, the whole system is down.

I've seen that Mongrel2 (
http://mongrel2.org/doc/tip/docs/manual/book.wiki#x1-640005.2) is using
PUSH/PULL + PUB/SUB. However, it makes the system more difficult.

However, if zmq supports the failover mechanism natively, REQ/REP pattern
would be much more powerful (the deadlock is unacceptable in production
systems). Probably, REQ/REP would satisfy a great part of the projects.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20101029/4c5faf53/attachment.htm>


More information about the zeromq-dev mailing list