irods / irods

Open Source Data Management Software
https://irods.org
BSD 3-Clause "New" or "Revised" License
447 stars 138 forks source link

iRODS connections should traverse DNS across set of IP addresses #1854

Open trel opened 10 years ago

trel commented 10 years ago

From @Wayne-Schroeder on irods-chat:

We have a request from a site for iRODS connections (client to server and server to server) to traverse the possible set of IP addresses returned by DNS. Currently (and, I believe, since the first versions), iRODS only tries to connect to the first address in the list, even if there is more than one. So the change would be to go on to others in the the hostent->h_addr_list, if connects fail and if any additional ones are present, instead of just trying hostent->h_addr.

The site was experimenting with DNS round-robin in order to run multiple servers in a zone. As a workaround, they can put load-balancers in front of the servers so they can be the ones to handle failed servers. But if iRODS could be be modified to go thru the sequence returned by DNS when a connection fails, it would likely remove the need for this added layer.

Would it be better for the site to use the the Resource Monitoring System? Would this DNS traversal be useful even in conjunction with RMS?

Original Conversation at Google Groups: https://groups.google.com/forum/#!topic/iROD-Chat/ee3-rP1hKnU

pontus commented 10 years ago

I'd definitely consider trying all returned addresses the right thing to do. What may be extravagant (although a nice thing to do if the code structure allows for it) is trying all available addresses in parallel and using the first one where the connection succeeds.

kwaegema commented 6 years ago

Is this still under consideration?

trel commented 6 years ago

Certainly could be. Not on the current roadmap, but still open for discussion or prioritization.

kript commented 5 years ago

👍 for us, for a poor mans loadbalancing