溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

發(fā)布時(shí)間:2022-01-14 09:52:08 來(lái)源:億速云 閱讀:138 作者:柒染 欄目:大數(shù)據(jù)

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

負(fù)載均衡 (Load Balancing) 負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。

大型網(wǎng)站負(fù)載均衡的利器

  • 全局負(fù)載均衡系統(tǒng)(GSLB)

  • 內(nèi)容緩存系統(tǒng)(CDN

  • 服務(wù)器負(fù)載均衡系統(tǒng)(SLB)

DNS域名解析的基本過(guò)程

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

最初的負(fù)載均衡解決方案(DNS 輪詢)

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

優(yōu)點(diǎn)

  • 基本上無(wú)成本,因?yàn)橥蛎?cè)商的這種解析都是免費(fèi)的;

  • 部署方便,除了網(wǎng)絡(luò)拓?fù)涞暮?jiǎn)單擴(kuò)增,新增的 Web 服務(wù)器只要增加一個(gè)公網(wǎng) IP 即可

缺點(diǎn)

  • 健康檢查,如果某臺(tái)服務(wù)器宕機(jī),DNS 服務(wù)器是無(wú)法知曉的,仍舊會(huì)將訪問分配到此服務(wù)器。修改 DNS 記錄全部生效起碼要 3-4 小時(shí),甚至更久;

  • 分配不均,如果幾臺(tái) Web 服務(wù)器之間的配置不同,能夠承受的壓力也就不同,但是 DNS 解析分配的訪問卻是均勻分配的。用戶群的分配不均衡導(dǎo)致 DNS 解析的不均衡。

  • 會(huì)話保持,如果是需要身份驗(yàn)證的網(wǎng)站,在不修改軟件構(gòu)架的情況下,這點(diǎn)是比較致命的,因?yàn)?DNS 解析無(wú)法將驗(yàn)證用戶的訪問持久分配到同一服務(wù)器。雖然有一定的本地 DNS 緩存,但是很難保證在用戶訪問期間,本地 DNS 不過(guò)期,而重新查詢服務(wù)器并指向新的服務(wù)器,那么原服務(wù)器保存的用戶信息是無(wú)法被帶到新服務(wù)器的,而且可能要求被重新認(rèn)證身份,來(lái)回切換時(shí)間長(zhǎng)了各臺(tái)服務(wù)器都保存有用戶不同的信息,對(duì)服務(wù)器資源也是一種浪費(fèi)。

全局負(fù)載均衡系統(tǒng)(GSLB)

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

優(yōu)勢(shì)

  • 數(shù)據(jù)中心冗余備份

  • 多站點(diǎn)流量?jī)?yōu)化

  • 確保用戶體驗(yàn)

    全局負(fù)載均衡系統(tǒng)(GSLB)的原理

    DNS 檢查工具網(wǎng)上有很多,感興趣的可以搜索一下。

內(nèi)容緩存系統(tǒng)(CDN)

  • 內(nèi)容緩存系統(tǒng)(CDN)之靜態(tài)加速

  • 內(nèi)容緩存系統(tǒng)(CDN)之動(dòng)態(tài)加速

    動(dòng)態(tài)加速的特點(diǎn)

  • 智能路由

  • 傳輸控制協(xié)議(TCP)優(yōu)化

  • HTTP 預(yù)載

服務(wù)器負(fù)載均衡系統(tǒng)

應(yīng)用背景

  • 訪問流量快速增長(zhǎng)

  • 業(yè)務(wù)量不斷提高

    用戶需求

  • 希望獲得 7×24 的不間斷可用性及較快的系統(tǒng)反應(yīng)時(shí)間

    負(fù)載均衡必須滿足性能、擴(kuò)展、可靠性

服務(wù)器負(fù)載均衡系統(tǒng)三種接入方式

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

服務(wù)器負(fù)載均衡系統(tǒng)的常見調(diào)度算法

  • 輪詢(Round Robin)

  • 加權(quán)輪詢(Weighted Round Robin)

  • 最少連接(Least Connections)

  • 加權(quán)最少連接(Weighted Least Connections)

健康性檢查

 健康性檢查算法的目的:通過(guò)某種探針機(jī)制,檢查服務(wù)器群中真實(shí)服務(wù)器的健康情況,避免把客戶端的請(qǐng)求分發(fā)給出現(xiàn)故障的服務(wù)器,以提高業(yè)務(wù)的HA能力。

目前常用的健康性檢查算法:

  • Ping(ICMP)

  • TCP

  • HTTP

  • FTP

系統(tǒng)加速

優(yōu)化功能 -SSL 加速

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

優(yōu)化功能 -HTTP 壓縮

 HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。F5 HTTP[壓縮技術(shù)](https://zm10.sm-tc.cn/?src=l4uLj8XQ0IWXlpuekNGdnpabitGckJLQjJqejZyXwIiQjZvC2rrK2se62se92rrI2r282r7G2rrJ2se%2B2sfP2rrJ2sa82r652ZmNwo6doIyano2cl6Cah5%2FZlprCiouZxw%3D%3D&uid=96961868b00c02996d71d0627348e454&restype=1&from=derive&depth=2&v=1&link_type=12)通過(guò)具有智能壓縮能力的 BIG-IP 系統(tǒng)可縮短[應(yīng)用交付](https://zm10.sm-tc.cn/?src=l4uLj8XQ0IWXlpuekNGdnpabitGckJLQjJqejZyXwIiQjZvC2rrK2r2%2B2sbL2rrI2sbL2r7H2rrL2r2%2B2r7L2rrL2r292sbH2ZmNwo6doIyano2cl6Cah5%2FZlprCiouZxw%3D%3D&uid=96961868b00c02996d71d0627348e454&restype=1&from=derive&depth=2&v=1&link_type=12)時(shí)間并優(yōu)化帶寬。HTTP壓縮采用通用的壓縮算法壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶端瀏覽器的訪問速度。

優(yōu)化功能 - 連接復(fù)用

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

優(yōu)化功能 -TCP 緩存

怎么實(shí)現(xiàn)大型網(wǎng)站架構(gòu)設(shè)計(jì)的負(fù)載均衡

會(huì)話保持

會(huì)話保持 - 客戶端源 IP 會(huì)話保持

 源IP地址會(huì)話保持就是將同一個(gè)源IP地址的連接或者請(qǐng)求認(rèn)為是同一個(gè)用戶,根據(jù)會(huì)話保持策略,在會(huì)話保持有效期內(nèi),將這些發(fā)自同一個(gè)源IP地址的連接/請(qǐng)求都轉(zhuǎn)發(fā)到同一臺(tái)服務(wù)器。

會(huì)話保持 -Cookie 會(huì)話保持

 當(dāng)采用基于源地址的會(huì)話保持無(wú)法做到負(fù)載均分時(shí),例如客戶端發(fā)起連接請(qǐng)求的源IP地址相對(duì)固定,發(fā)生此類問題通??刹捎没趹?yīng)用層的會(huì)話保持方式,Cookie通常是存在于HTTP頭中,現(xiàn)如今基于HTTP的應(yīng)用被廣泛使用,因此基于Cookie的會(huì)話保持越來(lái)越多的出現(xiàn)在服務(wù)器負(fù)載均衡解決方案中。 

  局限性:

  對(duì)于非HTTP協(xié)議,或者客戶端禁用Cookie,無(wú)效。

會(huì)話保持 -URL 哈希(Hash)會(huì)話保持

 哈希會(huì)話保持的一個(gè)基本概念就是按照某個(gè)Hash因子,根據(jù)此因子以及后臺(tái)存在多少臺(tái)服務(wù)器計(jì)算得到的結(jié)果來(lái)選擇將請(qǐng)求分配到那臺(tái)服務(wù)器。哈希會(huì)話保持的特點(diǎn)是在后臺(tái)服務(wù)器的健康狀態(tài)不發(fā)生改變的時(shí)候,每個(gè)特定的Hash因子被分配到的服務(wù)器是固定的。其最大的優(yōu)勢(shì)是哈希會(huì)話保持可以沒有會(huì)話保持表,而僅僅是根據(jù)計(jì)算的結(jié)果來(lái)確定被分配到那臺(tái)服務(wù)器,尤其在一些會(huì)話保持表查詢的開銷已經(jīng)遠(yuǎn)遠(yuǎn)大于Hash計(jì)算開銷的情況下,采用Hash會(huì)話保持可以提高系統(tǒng)的處理能力和響應(yīng)速度。

URL 哈希會(huì)話保持通常針對(duì)后臺(tái)采用 Cache 服務(wù)器的應(yīng)用場(chǎng)景,針對(duì) URL 進(jìn)行 Hash 計(jì)算,將同一個(gè) URL 的請(qǐng)求分配到同一臺(tái) Cache 服務(wù)器,這樣,對(duì)后臺(tái)的 Cache 服務(wù)器群來(lái)說(shuō),每臺(tái) Cache 服務(wù)器上存放的內(nèi)容都是不一樣的,提高 Cache 服務(wù)器的利用率。

故障案例分析

Q&A 案例分析(1)- 循環(huán)跳轉(zhuǎn)

 故障現(xiàn)象:

  Web服務(wù)端對(duì)用戶訪問的URL進(jìn)行判斷,對(duì)于非https的請(qǐng)求,重定向到http站點(diǎn),結(jié)果導(dǎo)致用戶一直302跳轉(zhuǎn)。

  原因分析:

  采用了負(fù)載均衡SSL加速功能,在服務(wù)端看到所有的用戶請(qǐng)求都來(lái)自于http。

  解決方案:

  全站啟用SSL加速。

Q&A 案例分析(2)- 用戶 Session 丟失

 故障現(xiàn)象:

  用戶在http站點(diǎn)上提交數(shù)據(jù)到同域名的https站點(diǎn),web程序拋出session丟失的異常,用戶提交數(shù)據(jù)失敗。

  原因分析:

  http和https在負(fù)載均衡設(shè)備上被認(rèn)為是2個(gè)獨(dú)立的服務(wù),產(chǎn)生2個(gè)獨(dú)立的TCP鏈接,會(huì)命中不同的真實(shí)服務(wù)器,導(dǎo)致session丟失。

  解決方案:

  在負(fù)載均衡設(shè)備上啟用基于真實(shí)服務(wù)器的會(huì)話保持。

Q&A 案例分析(3)- 客戶端源 IP 取不到

 故障現(xiàn)象:

  服務(wù)端獲取不到用戶外網(wǎng)的IP地址,看到的都是大量來(lái)自于內(nèi)網(wǎng)特定網(wǎng)段的IP地址。

  原因分析:

  負(fù)載均衡設(shè)備啟用了用戶源地址轉(zhuǎn)換(SNAT)模式,修改了TCP報(bào)文中的用戶源IP。

  解決方案:

  負(fù)載均衡設(shè)備會(huì)用用戶的外網(wǎng)IP改寫x-forwarded-for值,服務(wù)端通過(guò)獲取http協(xié)議中request header頭的x-forwarded-for值作為用戶源IP。IIS日志通過(guò)安裝插件形式顯示用戶源IP。

服務(wù)器負(fù)載均衡設(shè)備選型

1. 價(jià)格因素
硬件設(shè)備:F5、 Citrix 、Redware 、A10
軟件:LVS、Nginx、Haproxy、zen loadbalance

2. 性能
4/7 層吞吐量 (單位 bps)
4/7 層新建連接數(shù)(單位 CPS)
并發(fā)連接數(shù)
功能模塊性能指標(biāo)(ssl 加速、 HTTP 壓縮、內(nèi)存 Cache)

3. 滿足真實(shí)和未來(lái)需求
1)如果確認(rèn)負(fù)載均衡設(shè)備對(duì)所有應(yīng)用的處理都是最簡(jiǎn)單的 4 層處理,那么理論上選擇的負(fù)載均衡設(shè)備的 4 層性能稍高于實(shí)際性能需求即可。
2)如果確認(rèn)負(fù)載均衡設(shè)備對(duì)所有應(yīng)用的處理都是簡(jiǎn)單的 7 層處理,那么理論上選擇的負(fù)載均衡設(shè)備的 7 層性能稍高于實(shí)際性能需求即可。
3)如果負(fù)載均衡設(shè)備處理的應(yīng)用既有 4 層的也有 7 層的,建議按照 7 層應(yīng)用的性能來(lái)考慮負(fù)載均衡設(shè)備。
4)如果確認(rèn)自己的應(yīng)用經(jīng)過(guò)負(fù)載均衡處理時(shí),需要復(fù)雜的 4 層或者 7 層處理,例如需要根據(jù)客戶端的地址做策略性分發(fā),需要根據(jù) tcp 的內(nèi)容做處理,需要根據(jù) HTTP 頭或者 HTTP 報(bào)文做處理,那么建議選擇的負(fù)載均衡設(shè)備 4/7 層性能為真實(shí)性能需求的兩倍。
5)如果負(fù)載均衡設(shè)備有混合的復(fù)雜流量處理并且還開啟了一些功能模塊,那么建議選擇的負(fù)載均衡設(shè)備 4/7 層性能為真實(shí)性能需求的 3 倍。
6)考慮到設(shè)備需要輕載運(yùn)行才能更加穩(wěn)定,所以有可能的話在以上基礎(chǔ)上再增加 30% 的性能。
7)如果還要滿足未來(lái)幾年的發(fā)展需求,在以上基礎(chǔ)上還要留出未來(lái)發(fā)展所需要增加的性能。
8)不同負(fù)載均衡設(shè)備廠家由于不同的架構(gòu),使得某些設(shè)備在復(fù)雜環(huán)境下可能也表現(xiàn)的比較優(yōu)秀,這個(gè)客戶可以對(duì)比判斷,但總體來(lái)說(shuō),以上建議適合于所有廠家的設(shè)備。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI