歡迎來(lái)到(dào)深圳市博易美♠≤≠科技有限公司網站(zhàn)!
人(rén)
已閱讀(dú)

負載均衡在APP開(kāi)發中的(de)運>±用(yòng)

來(lái)源:lexintech.com       發布時(shí)₩↑間(jiān):2019-05-17
 
APP開(kāi)發項目中,服務器(qì)架構是(shì)關系到(dà∞♦o)整個(gè)系統的(de)性能(néng)的(de)關鍵因素。無論<✘↔↑是(shì)自(zì)己買的(de)服務器(qì),還(hái)是(s>"hì)用(yòng)雲服務器(qì),負載均衡都(dōu)‌↓是(shì)提高(gāo)系統性能(néng)的('∑de)主要(yào)方式。
如(rú)果你(nǐ)是(shì)早期的(de)雲計(jì)算(±₩suàn)服務提供商,你(nǐ)可(kě)以 ₽₹"使用(yòng)一(yī)個(gè)單獨的(de)客戶 web ☆$服務器(qì),為(wèi)它分(fēn)配一(yī)個(gè) ©↓IP 地(dì)址,并配置一(yī)個(gè→‍₽) DNS(域名系統)記錄來(lái)将它與一(yβ₹€λī)個(gè)易讀(dú)的(de)名字關聯起來(lái),之後通(tφα>✔ōng)過 BGP(邊界網關協議(yì))來(lái)傳播 IP 地₽✘ (dì)址,這(zhè)是(shì)種在網絡間(jiān)₹♣交換路(lù)由信息的(de)标準方式。
在冗餘的(de)網絡路(lù)徑上(shα→∞àng)分(fēn)發流量,在不(bù)可(k♥™₽ě)用(yòng)的(de)基礎設施周圍進行(xíng¶→₽‍)路(lù)由來(lái)提高(gāo)可(kě)用(yòng)性(會(h∏€πuì)導緻不(bù)對(duì)稱路(lù)由等現±♣γ↕(xiàn)象),這(zhè)些(xiē)從(cóng)本質上(shà♦₹✘÷ng)講并不(bù)是(shì)負載均衡。
随著(zhe)客戶服務流量的(de)增長(cháng),業(yè)↕α務方希望獲得(de)更高(gāo)的(de)可(£✔∏kě)用(yòng)性。你(nǐ)添加了(le)另一(yī)個(✔ πgè)具有(yǒu)公網 IP 地(dì)址的(de) w∑→π↑eb 服務器(qì),并更新了(le) DNS 記錄來(lái↕​↓σ)将用(yòng)戶引導到(dào)這(zhè)兩個(gè'™<) web 服務器(qì)(希望稍微(wēi)公平一(yī)‍✘​些(xiē))。直到(dào)某一(yī)個(gè) web ₹♣服務器(qì)意外(wài)宕機(jī)前,這(zhè)種方法都(dōu)是(α ♣©shì)可(kě)行(xíng)的(de)。假設你(nǐ)快$♣±ε(kuài)速檢測到(dào)故障,可(k‌♥×±ě)以通(tōng)過更新 DNS 配置(§ελ手動方式或使用(yòng)軟件(jiàn))來(lái)停♥≠☆止引用(yòng)損壞的(de)服務器(qì)。
遺憾的(de)是(shì),由于 DNS 記錄₹ Ω是(shì)有(yǒu)緩存的(de),這(zhè)些(xiē)緩"×‌存記錄可(kě)能(néng)會(huì)在客戶端或者 DNS←‍ 層次結構中的(de)其他(tā)名稱服務器 ₽∞♦(qì)中,在它們過期之前,大(dà)約有(yǒu) 50% 的(de)請(¶™♣πqǐng)求仍然可(kě)能(néng)失敗。 ↓DNS 記錄的(de) TTL(time to live,生(shēng)存時→♥®(shí)間(jiān))通(tōng)常為(wèi)幾分(fē∞ n)鐘(zhōng)或更長(cháng),因此☆&™這(zhè)會(huì)對(duì)系統的(de)可(kě∞≈)用(yòng)性造成重大(dà)影(yǐng)響。
更糟糕的(de)是(shì)一(yī)些(xiē)客戶端完全忽略了(∞♠♠le) TTL,所以一(yī)些(xiē)請(qǐng)求将在一(yī)段時(• ‍shí)間(jiān)內(nèi)被定向到≤ππ(dào)已經宕機(jī)的(de) web 服務器↓→•≈(qì)上(shàng)。設置非常短(duǎn)的(de) DN ₹£♦S TTL 也(yě)不(bù)是(shì)什(shén)麽好(hǎo)↑π主意;這(zhè)意味著(zhe) DNS 服務的≠≠‌±(de)負載增加,延遲增加,因為(wèi)客戶端不(bù)得(de♥α×π)不(bù)更加頻(pín)繁地(dì)執行(xí↕™ng) DNS 查找。如(rú)果你(nǐ)σ∞的(de) DNS 服務不(bù)可(kě)用(yòng)$¶®↑,那(nà)麽使用(yòng)更短(duǎn)的(de∏&∏) TTL 訪問(wèn)服務将更快(kuà÷πλi)地(dì)降級,因為(wèi)緩存服≈✔務 IP 地(dì)址的(de)客戶端更少(shǎ↓÷"Ωo)。
為(wèi)了(le)解決這(zhè) ✘← 個(gè)問(wèn)題,你(nǐ)可(k€₹ě)以添加一(yī)對(duì)冗餘的(de) 4 ↓'®層(Layer 4)網絡均衡器(qì),并在™$•π相(xiàng)同的(de)虛拟 IP(VIP)地(d©λα♠ì)址提供服務。它們可(kě)以是(shì)硬件(​Ω®jiàn)設備,或者像 HAProxy 這(zhè€✔)樣的(de)軟件(jiàn)均衡器(qì)。這(z♦★hè)意味著(zhe) DNS 記錄僅僅指向虛拟 IP 而不÷₽(bù)再做(zuò)負載均衡。
4 層負載均衡器(qì)将來(lái)自(zì)用(yòng)戶的(de)連接均衡分(fēn)布在兩個(gè) web 服務器(qì)上(shàng)
4 層均衡器(qì)将來(lái)自(zì)因特網的(de)流量均衡地(dìπ¶Ω↕)引導至後端服務器(qì)。這(zhè)通(tōng↔→↑ε)常是(shì)基于每個(gè) IP 包的✘‍(de) 5 元組的(de)哈希(一(yī)個(gè)數(shù)學函數"≤ ©(shù))完成的(de):源 IP 地(dì)址和(hé εΩ§)目标 IP 地(dì)址,以及端口加上(shàng)協↔★≈議(yì)(如(rú) TCP 或 UDP)。這(zhè✔§©↔)種方式快(kuài)速、高(gāo)效(并且仍然維持了(le£←∏) TCP 的(de)基本屬性),并且不(bù)需要(yào)均衡 <器(qì)維護每個(gè)連接的(de)狀α¥₽态。
4 層均衡器(qì)可(kě)以進行(xíng)健康檢查₹"☆©,并僅僅向那(nà)些(xiē)通(tōng)過檢查的(de) web €&服務器(qì)發送流量。與 DNS 均衡不(bù)同的(de)是(shì),如​γ​<(rú)果一(yī)個(gè) web 服務™÷&Ω器(qì)崩潰,将流量重定向到(dào)另一(yī)個(g>§∑φè) web 服務器(qì)上(shàn♣$≈→g)的(de)延遲很(hěn)小(xiǎo),盡管現(xiàn)有(yǒu)≠©•∑連接将被重置。
4 層均衡器(qì)可(kě)以做(zuò)加權平∏↑均,處理(lǐ)不(bù)同容量的(de)後端,它為(wèi)運維人(rén)÷δ"≈員(yuán)提供了(le)強大(dà)的(de)能(néng)力和(hé)靈♠✔活性,同時(shí)在計(jì)算(suàn)能(néng)力方≤&λ面相(xiàng)對(duì)便宜。