Nginx 配置UDP负载均衡
?
Nginx 1.9.13開始支持UDP負載勻衡,現(xiàn)代應(yīng)用通常使用多種協(xié)議,很多核心Internet協(xié)議都早于HTTP,支持UDP勢在必行。
UDP常用于非事務(wù)性的輕量級協(xié)議,如:DNS、syslog、RADIUS。
這些協(xié)議對可靠性沒有嚴(yán)格要求,若UDP消息(數(shù)據(jù)報)丟失,客戶端可在超時后重新發(fā)送。
UDP配置
# Load balance UDP-based DNS traffic across two servers stream {upstream dns_upstreams {server 192.168.136.130:53;server 192.168.136.131:53;}server {listen 53 udp;proxy_pass dns_upstreams;proxy_timeout 1s;proxy_responses 1;error_log logs/dns.log;} }NGINX在53端口接收到UDP數(shù)據(jù)報,使用負載平衡算法(默認(rèn):輪詢/Round Robin)選擇后端服務(wù),等待后端服務(wù)響應(yīng),并將響應(yīng)返回客戶端。
若后端服務(wù)無法響應(yīng),NGINX將其標(biāo)記為“失敗”,并暫停向此服務(wù)發(fā)送數(shù)據(jù)報。每隔幾秒鐘,NGINX會向服務(wù)器發(fā)送較小流量檢查服務(wù)狀態(tài),確認(rèn)服務(wù)是否恢復(fù)。
UDP不保證數(shù)據(jù)的端到端傳遞,要求客戶端能夠處理網(wǎng)絡(luò)級錯誤和重傳。
當(dāng)客戶端無法連接到首選服務(wù)器時,則必須等待超時才能嘗試其他服務(wù)器。這會在UDP事務(wù)中引入冗長的延遲。
NGINX高可用性和負載平衡可消除或減少此類延遲。
客戶端將UDP請求發(fā)送到NGINX,負載均衡器監(jiān)視UDP服務(wù)器運行狀況和可用性,避免將請求發(fā)送到故障或過載服務(wù)器。
總結(jié)
以上是生活随笔為你收集整理的Nginx 配置UDP负载均衡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++实现md5加密或计算文件的唯一性识
- 下一篇: C++(STL):01---pair容器