[zeromq-dev] error handler for load-balancing global exchange

Martin Sustrik sustrik at fastmq.com
Thu Mar 12 15:06:42 CET 2009


> I use a global load-balancing exchange to send data to a cluster of
> client systems. So a single server process creates global
> load-balancing exchange, and multiple client processes bind local
> queues to the exchange. I am assuming that this is how it is intended
> to be used. The biggest issue I'm experiencing with this setup is that
> if a client process disconnects, the server process has no way of
> knowing WHICH client process disconnected. The server process can
> register an error handler, but the error handler only gets the name of
> the local object (the global exchange) and knows nothing about which
> client failed. A less serious issue is that (without adding additional
> ZeroMQ wirings) the server process also has no way of knowing how many
> clients are currently connected to the load-balancing global exchange
> ... how does one keep track of the resources that are being
> load-balanced without such features?

Once again, it would be useful to understand your use case. One of the 
main features of messaging middleware is that message producers are 
decoupled from message consumers (think of email - you don't care who of 
the billions of email users is connected at the moment - what you care 
about is getting messages addressed to you). Thus, the application 
actually SHOULDN'T know whether the peer(s) are connecting/disconnecting 
or how much pears there are connected at the moment.


More information about the zeromq-dev mailing list