Welcome! Log In Create A New Profile

Advanced

Provide better way to quiesce servers in a TCP Stream farm as part of taking them out of rotation

Posted by jkohut 
Per this link and a discussion I posted there it does not seem that there is a good way for a non-admin to gracefully take a upstream server out of a TCP type farm (no drain function in Stream TCP , but only in HTTP ?). Look for discussion from EVVJSK and replies.
https://www.nginx.com/blog/tcp-load-balancing-udp-load-balancing-nginx-tips-tricks/#comment-5377483949

one response said :
"If you want to quiesce a server in a stream TCP farm, one option would be to set the server to be down (http://nginx.org/en/docs/st... and reload the NGINX configuration. Additionally, set a suitable worker_shutdown_timeout."

Having to have someone "reload the NGINX configuration" sounds like overkill. Our company is trying to provide non-NGINX admins with tools to be able to do the work of taking server out of rotation themselves. Reload of NGINX configuration sounds like something that should be left to NGINX Admins and not to someone who wants to gracefully take server out of rotation for server maintenance or some other task, do their work, and then put the server back into rotation when work has been completed.

What would seem to me to be the BEST request, would be for the API call that marks a server down, would FIRST quiesce the server by allowing any currently running transaction to finish, then to take server out of rotation.

A fallback if the above suggestion is not feasible would be for there to be a quiesce (or possibly drain if that is what the HTTP drain function accomplishes ?) function that is called via API that tells the Farm to cease sending transactions, wait until any pending transactions have finished, and then take the upstream server out of rotation. If it required then calling the DOWN API call, I guess that is OK, just seems like ending a server gracefully should be job number one and tools provided to easily do that.

Hope the above makes my case.

Thanks,
Jeff



Edited 1 time(s). Last edit at 05/10/2021 04:18PM by jkohut.
Lua (openresty) is your friend here, no reload needed.

---
nginx for Windows http://nginx-win.ecsds.eu/
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 74
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready