久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

DNS負(fù)載均衡&&HTTP負(fù)載均衡

 縷夢菲煙 2017-12-15

DNS負(fù)載均衡

最早的負(fù)載均衡技術(shù),,利用域名解析實現(xiàn)負(fù)載均衡,,在DNS服務(wù)器,配置多個A記錄,,這些A記錄對應(yīng)的服務(wù)器構(gòu)成集群,。大型網(wǎng)站總是部分使用DNS解析,作為第一級負(fù)載均衡,。如下圖:

優(yōu)點

  1. 使用簡單:負(fù)載均衡工作,,交給DNS服務(wù)器處理,,省掉了負(fù)載均衡服務(wù)器維護的麻煩
  2. 提高性能:可以支持基于地址的域名解析,解析成距離用戶最近的服務(wù)器地址,,可以加快訪問速度,,改善性能;

缺點

  1. 可用性差:DNS解析是多級解析,,新增/修改DNS后,,解析時間較長;解析過程中,,用戶訪問網(wǎng)站將失?。?/li>
  2. 擴展性低:DNS負(fù)載均衡的控制權(quán)在域名商那里,,無法對其做更多的改善和擴展,;
  3. 維護性差:也不能反映服務(wù)器的當(dāng)前運行狀態(tài);支持的算法少,;不能區(qū)分服務(wù)器的差異(不能根據(jù)系統(tǒng)與服務(wù)的狀態(tài)來判斷負(fù)載)

 實踐建議

將DNS作為第一級負(fù)載均衡,,A記錄對應(yīng)著內(nèi)部負(fù)載均衡的IP地址,通過內(nèi)部負(fù)載均衡將請求分發(fā)到真實的Web服務(wù)器上,。一般用于互聯(lián)網(wǎng)公司,,復(fù)雜的業(yè)務(wù)系統(tǒng)不合適使用。如下圖:

HTTP負(fù)載均衡

Nginx是一個高性能的HTTP和反向代理服務(wù)器,,

通過其本身的Upstream模塊,,我們可以將其作為7層負(fù)載均衡服務(wù)器使用,其支持的負(fù)載均衡策略如下:

1,,輪詢:將請求依次輪詢發(fā)給每個服務(wù)器

2,,最少鏈接:將請求發(fā)送給持有最少活動鏈接的服務(wù)器

3,IP哈希:通過哈希函數(shù)決定請求發(fā)送給哪個服務(wù)器

4,,權(quán)重:服務(wù)器的權(quán)重越高,,處理請求的概率越大

系統(tǒng)整體結(jié)構(gòu)如下:

    

一. Nginx/ Haproxy比較

    早期版本Nginx只能在HTTP層負(fù)載,不支持TCP,,經(jīng)過1.9和1.11兩個大版本的大躍進般開發(fā),,目前在功能和特性上,已經(jīng)大幅超越haproxy ,,當(dāng)然haproxy也有自己的長處,。

比如:

stream module:同時支持TCP和UDP,也支持haproxy的proxy protocol,。

stream module的TLS卸載:可以把TLS在nginx卸載掉,,后端只需要跑http或者明文tcp流。得益于nginx的多進程和對TLS硬件加速卡的支持,對于大流量網(wǎng)站這是非常重要的功能,。

SNI Preread:基于SNI協(xié)議的host頭做負(fù)載均衡,。在一些特殊場合很有用處,比如嚴(yán)格管理私鑰的場景,,也可以在不改動現(xiàn)有架構(gòu)的場景下,,由nginx統(tǒng)一調(diào)度流量。

IP Transparency:對這個功能沒實際測試過,??垂俜轿臋n應(yīng)該類似SNAT和DNAT的功能。相比Linux的NAT功能,,nginx能做的更多,,比如負(fù)載均衡、url路由等等,。

TLS:雙證書,、HTTP/2,、TLS v1.3(1.13版)
gnu/linux的新特性的利用:fastopen, SO_REUSEPORT, IP_BIND_ADDRESS_NO_PORT

緩存模塊的切片模塊

而且,,nginx還有幾個大殺器:map模塊、lua,、js和shared memory,。

1)HAProxy對于后端服務(wù)器一直在做健康檢測(就算請求沒過來的時候也會做健康檢查):
后端機器故障發(fā)生在請求還沒到來的時候,haproxy會將這臺故障機切掉,,但如果后端機器故障發(fā)生在請求到達期間,,那么前端訪問會有異常。也就是說HAProxy會把請求轉(zhuǎn)到后端的這臺故障機上,,并經(jīng)過多次探測后才會把這臺機器切掉,,并把請求發(fā)給其他正常的后端機,這勢必會造成一小段時間內(nèi)前端訪問失敗,。
2)Nginx對于后端的服務(wù)器沒有一直在做健康檢測:
后端機器發(fā)生故障,,在請求過來的時候,分發(fā)還是會正常進行分發(fā),,只是請求不到數(shù)據(jù)的時候,,它會再轉(zhuǎn)向好的后端機器進行請求,直到請求正常為止,。也就是說Nginx請求轉(zhuǎn)到后端一臺不成功的機器的話,,還會再轉(zhuǎn)向另外一臺服務(wù)器,這對前端訪問沒有什么影響,。
3)因此,,如果有用HAProxy做為前端負(fù)載均衡的話 ,如果后端服務(wù)器要維護,在高并發(fā)的情況,,肯定是會影響用戶的,。但如果是Nginx做為前端負(fù)載均衡的話,只要并發(fā)撐得住,,后端切掉幾臺不會影響到用戶,。


一. Nginx / LVS 轉(zhuǎn)發(fā)策略

LVS采用的是同步請求轉(zhuǎn)發(fā)的策略。同步轉(zhuǎn)發(fā)是在lvs服務(wù)器接收到請求之后,,立即redirect到一個后端服務(wù)器,,由客戶端直接和后端服務(wù)器建立連接。

Nginx采用的是同步請求轉(zhuǎn)發(fā)的策略,。異步轉(zhuǎn)發(fā)是nginx在保持客戶端連接的同時,,發(fā)起一個相同內(nèi)容的新請求到后端,等后端返回結(jié)果后,,由nginx返回給客戶端,。

在其它的均衡器(lvs/haproxy/apache等)里,每個請求都是只有一次機會的,,假如用 戶發(fā)起一個請求,,結(jié)果該請求到達后臺服務(wù)器后,后臺服務(wù)器剛好掛掉了,,那么這個請求就失敗了,;而nginx因為是異步的,所以這個請求可以重新發(fā)往下一個后臺,,下一個 后臺返回了正常的數(shù)據(jù),,于是這個請求就能成功了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多