3分鐘帶你了解負載均衡服務

2022-06-08 22:15:14 字數 2013 閱讀 6076

本文由  網易雲 發布。

乙個網際網路產品在搭建服務時可能經常會遇到以下困境:搭建的單節點 web服務效能和可靠性都無法達到要求,節點掛掉=服務異常;直接使用外網提供服務,經常會擔心被人攻破,且公司運維團隊水平較低,一不小心就會有開啟外網埠的情況。這些場景下如果加入負載均衡服務問題便會迎刃而解。

負載均衡,是現代計算機領域的基礎服務之一。其基本原理是通過執行在前面的負載均衡服務,按照指定的負載均衡演算法,將流量分配到後端服務集群上,從而為系統提供並行擴充套件的能力。

負載均衡服務一般都會有內外網隔離、健康檢查等功能,從而提高系統的安全性和可用性。

下圖就是乙個標準的負載均衡服務應用場景:

這個是負載均衡服務的核心功能,作為統一的流量入口,負載均衡服務會把流量分發到後端的多個節點上,從而實現集群的橫向擴充套件。當需要擴容時,只需要在負載均衡服務後面加入新的節點就可以了,而不用改變入口。對於有狀態的服務來說,還需要啟用會話保持來保證把流量分發到固定的節點上去。

基於應用層內容的流量分發。七層服務還存在著更為複雜的應用場景:外網的 web服務預設使用 80埠,但經常也會有多個不同網域名稱的**需要使用同樣乙個出口 ip的情況。這時候就需要通過應用層解析,根據使用者的訪問網域名稱把同乙個埠的流量分發到不同的後端服務中去。而隨著結構的進一步拆分,還存在著同乙個網域名稱的服務根據 url分流到不同後端集群的情況,這種情況就需要進一步的分流和拆分。

通過加入後端多個節點,可以顯著地提高服務的可用性。而且負載均衡服務一般會整合健康檢查功能,在後端節點出現異常時會把請求**到健康的節點上去,從而實現異常的自動處理。

很多負載均衡服務還會提供多 az支援,支援跨 az的高可用和後端部署。在單個機房宕機時仍然可以做到服務可用。

負載均衡服務本身一般都會採用專門的冗餘裝置,和專門的故障保證策略,保證自身的可用性。在雲計算環境下,負載均衡服務一般都可以提供四個九級別的可靠性保證(99.99%),而通過加入多 az(機房級別)甚至多 region(地區級別),還可以進一步提高服務的可用性。(蜂巢的多 az方案也會在幾個月後跟大家見面,敬請期待)

有狀態服務和無狀態服務,原本是各有優勢,並沒有明顯的優劣之分,但是在大集群、服務化的場景下,無狀態服務則更有優勢。

因為有狀態服務在服務架構較為簡單時雖然有易開發,高併發等優勢,但隨著業務規模的擴大,也會造成異常恢復困難、難以並行擴充套件等問題。而在這種場景下,無狀態服務在服務管理、並行擴充套件方面有著先天的優勢。

一般來講,使用負載均衡,大多是服務規模較大,業務負載的場景,因此更推薦使用無狀態化的服務。

有乙個常見誤區就是認為服務接入負載均衡就算高可用了。而事實上實際服務的高可用性是需要通盤考慮的事情,比如全鏈路移除單點,服務本身對於異常的處理等。

因此說,接入負載均衡僅僅是保證了接入點的高可用(如果掛單點那接入都不是高可用的),真正要實現高可用還需要全域性保證,負載均衡只是構築服務高可用的乙個工具,而不是全部。

負載均衡是乙個高效能的**服務,但是對於單次請求來說,無法做到效能加速。

如果你本來的請求要 100ms返回,使用負載均衡之後也不會把你的請求縮短到 10ms。

而且從理論上說,無論任何形式的負載均衡,都只會增長呼叫鏈而不是縮短(一些軟負載均衡,如 dns,service的 iptables不會增加呼叫鏈本身,但是也會加入額外操作)。因此,對於單個請求,結果往往是變慢而不是加速(一般負載均衡服務增加的成本是微乎其微的 ms以內,應用完全感知不到)。

負載均衡對效能的提公升,是通過分擔負載帶來的並行擴充套件能力從而提公升服務的穩定性。而由於業務並行擴充套件,造成單台壓力變小,從而提公升服務的整體效能。

另外,由於負載均衡服務往往有更可靠的接入端(bgp網路),更高效的**設施(專用**裝置和鏈路),更好的優化,一般效能還是遠遠優於自己搭建的**服務。因此很多場景是會有更好的效能表現。

在這裡,主要介紹了負載均衡服務的基本內容和負載均衡服務的主要功能及特徵。下一節會進入實戰篇,介紹如何在蜂巢中使用負載均衡服務,敬請期待。

了解 網易雲 :

網易雲官網:

新使用者大禮包:gift

網易雲社群:

一分鐘了解負載均衡

什麼是負載均衡 負載均衡 load balance 是分布式系統架構設計中必須考慮的因素之一,它通常是指,將請求 資料 均勻 分攤到多個操作單元上執行,負載均衡的關鍵在於 均勻 常見的負載均衡方案 常見網際網路分布式架構如上,分為客戶端層 反向 nginx層 站點層 服務層 資料層。可以看到,每乙個...

3分鐘帶你了解盒子模型

概念 在html中每乙個元素都是乙個盒子模型 組成 外邊距 邊框 內邊距 內容 注 內容有寬度 width 和高度 height 來控制的 邊框屬性 border width 邊框粗細 border style 邊框線性 border color 邊框顏色 組合寫法 border 2px solid...

乾貨 三分鐘帶你挑選專屬負載均衡

原創 京東雲iaas產品部 京東雲開發者社群 今天 對於雲廠商來說,在提高系統可用性 擴充套件系統服務能力方面,負載均衡可謂是重要一環。負載均衡可將使用者的業務請求按照一定策略自主分發給多台後端伺服器處理,從而調整資源利用情況,消除由於單台後端伺服器故障對系統的影響。lb?alb?nlb?dnlb?...