Nginx负载均衡实现之用户手动选择与DNS轮询
負載均衡常用的處理方式
方式一:用戶手動選擇
這種方式比較原始,只要實現的方式就是在網站主頁上面提供不同線路、不同服務器鏈接方式,讓用戶來選擇自己訪問的具體服務器,來實現負載均衡。
方式二:DNS輪詢方式
DNS
域名系統(服務)協議(DNS)是一種分布式網絡目錄服務,主要用于域名與 IP 地址的相互轉換。大多域名注冊商都支持對同一個主機名添加多條A記錄,這就是DNS輪詢,DNS服務器將解析請求按照A記錄的順序,隨機分配到不同的IP上,這樣就能完成簡單的負載均衡。DNS輪詢的成本非常低,在一些不重要的服務器,被經常使用。
?如下是我們為某一個域名添加的IP地址,用2臺服務器來做負載均衡。
?驗證:
ping www.nginx521.cn清空本地的dns緩存
ipconfig/flushdns我們發現使用DNS來實現輪詢,不需要投入過多的成本,雖然DNS輪詢成本低廉,但是DNS負載均衡存在明顯的缺點。
1.可靠性低
假設一個域名DNS輪詢多臺服務器,如果其中的一臺服務器發生故障,那么所有的訪問該服務器的請求將不會有所回應,即使你將該服務器的IP從DNS中去掉,但是由于各大寬帶接入商將眾多的DNS存放在緩存中,以節省訪問時間,導致DNS不會實時更新。所以DNS輪流上一定程度上解決了負載均衡問題,但是卻存在可靠性不高的缺點。
2.負載均衡不均衡
DNS負載均衡采用的是簡單的輪詢負載算法,不能區分服務器的差異,不能反映服務器的當前運行狀態,不能做到為性能好的服務器多分配請求,另外本地計算機也會緩存已經解析的域名到IP地址的映射,這也會導致使用該DNS服務器的用戶在一定時間內訪問的是同一臺Web服務器,從而引發Web服務器減的負載不均衡。
負載不均衡則會導致某幾臺服務器負荷很低,而另外幾臺服務器負荷確很高,處理請求的速度慢,配置高的服務器分配到的請求少,而配置低的服務器分配到的請求多。
總結
以上是生活随笔為你收集整理的Nginx负载均衡实现之用户手动选择与DNS轮询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx负载均衡实现之四层与七层负载
- 下一篇: Nginx负载均衡的原理及流程分析