[zeromq-dev] ZMQ via load balancer
Ori Barak
oribarak at microsoft.com
Tue Apr 2 18:23:51 CEST 2013
Hello All,
I hope this is the right distribution list for these type of questions.
I have couple of question regarding the best practices of using ZMQ with load balancer.
First Q:
In my scenario I use push\pull sockets where the push socket's endpoint is a virtual IP (VIP) returning one of the physical machine's IP behind the VIP implemented by software load balancer. I use this reconnection pattern since my service lives in an environment where the SLA is that 10% of the servers might be down in any given time so to support the SLA I'm refreshing the connection every once in a while and I reconnect to the VIP endpoint every couple of seconds.
Is there a better approach to work with ZMQ given my constraints?
Second Q:
Regarding send\receive high watermark. I noticed that data that cannot be sent right away is saved in memory per TCP 4 tuple, (client_ip, client_port, destination_ip, dest_port) so if I'm using the reconnection technique I mentioned before than the new connection will not get the data in memory from the previous connection. So in a scenario where:
* Server A is pushing data to server B.
* B is dead
* After ~10 sec A is reconnecting via the virtual IP and get server C
For the 10 seconds between reconnection the data could not be pushed to B and was saved in sender memory. After reconnecting the data will not get to C since the new connection will get different client port.
So... Is there a way to get these events after reconnecting?
Thank you very much,
Ori
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130402/cabca26e/attachment.htm>
More information about the zeromq-dev
mailing list