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



_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to