日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

转发 GSLB概要和实现原理

發(fā)布時間:2023/12/29 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 转发 GSLB概要和实现原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

What is GSLB

Global Server Load Balancing

中文:全局負(fù)載均衡

SLB(Server load balancing)是對集群內(nèi)物理主機(jī)的負(fù)載均衡,而GSLB是對物理集群的負(fù)載均衡。
這里的負(fù)載均衡可能不只是簡單的流量均勻分配,而是會根據(jù)策略的不同實(shí)現(xiàn)不同場景的應(yīng)用交付。

GSLB是依賴于用戶和實(shí)際部署環(huán)境的互聯(lián)網(wǎng)資源分發(fā)技術(shù),不同的目的對應(yīng)著一系列不同的技術(shù)實(shí)現(xiàn)。

Why GSLB

總結(jié)為:

高可用性
更快的響應(yīng)時間
多版本分發(fā)

具體:

Disater recovery,發(fā)生故障時提供一個備用的位置來獲取資源或者能提供可簡易調(diào)整流量的裝置,或兩者都能提供。

Load sharing,基于多個地理位置的流量分發(fā),可以做到:

a.盡量節(jié)省帶寬
b.限制給定位置的能力
c.限制暴露斷電,地理災(zāi)害等問題

Performance,將資源置于離用戶更近的地方,增強(qiáng)用戶體驗(yàn)。

多版本,根據(jù)本地政策提供不同版本的資源,或者根據(jù)自定義的規(guī)則提供為特殊用戶提供特殊版本,如灰度交付等。

How implements GSLB

主流的技術(shù)實(shí)現(xiàn)

DNS

GSLB會替代最終的DNS的服務(wù)器從而實(shí)現(xiàn)自己的解析策略,返回給用戶最合適的IP(列表)。

一個普通的DNS請求:

1
2
3
4
5
① 用戶提交域名
② 客戶端解析域名
③ DNS服務(wù)器解析出IP
④ 客戶端請求IP
⑤ 返回結(jié)束

加入了GSLB的請求:

1
2
3
4
5
6
① 提交域名
② 客戶端解析域名
③ NS解析到GSLB-
④ GSLB解析并返回IP
⑤ 客戶端請求IP
⑥ 返回結(jié)束

特點(diǎn):

這個技術(shù)對原業(yè)務(wù)的侵入性最小,被商業(yè)ADC廣泛實(shí)現(xiàn),如A10,F(xiàn)5等。

但是可以得到的信息很有限,IP的定位只能靠Local DNS,因?yàn)榈貌坏皆碔P.

HTTP redirection

使用HTTP重定向?qū)?nèi)容轉(zhuǎn)發(fā)到不同位置.

a. 請求的域名均解析為GSLB機(jī)器的IP.
b. GSLB根據(jù)源IP等信息解析出新的IP并使用HTTP重定向技術(shù)將用戶請求重定向到目標(biāo)主機(jī).

請求過程:

1
2
3
4
5
6
7
① 提交域名
② 客戶端解析域名
③ DNS解析域名為GSLB
④ 客戶端提交請求給GSLB服務(wù)器
⑤ GSLB解析出目標(biāo)IP并發(fā)起HTTP轉(zhuǎn)發(fā)
⑥ 客戶讀轉(zhuǎn)發(fā)請求到目標(biāo)IP
⑦ 返回結(jié)束

特點(diǎn):

這個方案只適用于HTTP.

這個方案的實(shí)現(xiàn)可以是L7負(fù)載均衡工具如Nginx、HTTPD等

IP Route

更改IP首部實(shí)現(xiàn)使用跳轉(zhuǎn).并利用IP tunneling技術(shù)實(shí)現(xiàn)只對請求負(fù)載均衡(響應(yīng)直接返回).

a. 請求的域名均解析為GSLB機(jī)器的IP.
b. 負(fù)載均衡設(shè)備可以解析出目標(biāo)地址,然后封裝IP包發(fā)給目標(biāo)地址.
c. 目標(biāo)服務(wù)器收到請求包并處理,解析出被封裝的IP包可以得到客戶端地址,把響應(yīng)直接返回.

請求過程:

1
2
3
4
5
6
① 提交域名
② 客戶端解析域名
③ DNS解析域名為GSLB-
④ 客戶端提交請求給GSLB服務(wù)器
⑤ GSLB發(fā)送請求到目標(biāo)服務(wù)器
⑥ 目標(biāo)服務(wù)器直接返回請求給客戶端結(jié)束

特點(diǎn)

這個方案能解決不能獲得源IP和HTTP Only的問題,也不會成為性能瓶頸.但由于是IP層的LB,因此得到的信息很有限,也就是做分發(fā)的策略會很有限.*

實(shí)現(xiàn)方式主要就是LVS的VS/TUN模式.如果自己編寫會更靈活,但難度較大.*

統(tǒng)一調(diào)度服務(wù)層

客戶端SDK+調(diào)度服務(wù)完成GSLB設(shè)備的功能。

a. 客戶端使用原地址請求服務(wù)時,SDK會交付一個解析過的地址給客戶端.(或?qū)W(wǎng)絡(luò)請求模塊做Proxy)
b. SDK會通過一定的策略從調(diào)度服務(wù)中獲取解析地址(一個或多個).
c. SDK和調(diào)度服務(wù)會某種形式保持聯(lián)系(HTTP or TCP).
d. 出于性能考慮,SDK本身有Cache功能同時有時效限制(TTL)。

調(diào)用試請求過程:

① 客戶端請求
② 調(diào)用SDK
③ SDK沒有命中緩存
 ④ SDK請求調(diào)度服務(wù)
 ⑤ 調(diào)度服務(wù)返回新地址
 ⑥ 客戶端用新地址發(fā)起請求

代理式請求過程:

① 客戶端發(fā)起請求
② 網(wǎng)絡(luò)請求Proxy攔截請求
③ Proxy沒有命中緩存
④ Proxy請求調(diào)度服務(wù)
⑤ 調(diào)度服務(wù)返回新地址
⑥ Proxy請求新地址

特點(diǎn)

讓客戶端(SDK)具備了負(fù)載均衡知識,而因此讓服務(wù)端可以獲得任何想要知道的信息,從而可以做更全面的解析策略,但侵入性是最大的。

常見策略實(shí)現(xiàn)

地理區(qū)域。地理&IP表。
IP權(quán)重,為每個IP分配權(quán)重,權(quán)重決定流量比例。
往返時間RTT,分active RTT(請求時ping)和passive RTT(采集tcp的syn->act的時間)。
業(yè)務(wù)自定義條件,如根據(jù)語言,UserID等.

方案的對比

方案1:

工具:使用現(xiàn)有的商用解決方案:F5,A10 Thunder.
優(yōu)點(diǎn):
  能靈活配置GSLB,滿足就近選擇,位置備份等基本GSLB需求。
  除了GSLB以外,還能帶來對性能和安全的全解決方案,如防DDos,硬件加速SSL加解密等等。
  當(dāng)我們的業(yè)務(wù)群越來越龐大時,這些需求會越來越迫切。

缺點(diǎn):
  貴。

方案2

工具:編寫HTTP轉(zhuǎn)發(fā)服務(wù)或使用Nginx,HTTPD
優(yōu)點(diǎn):自由實(shí)現(xiàn),HTTP層可獲取的信息更多因此LB策略更靈活.
缺點(diǎn):只能是HTTP的轉(zhuǎn)發(fā),另外可能會成為性能瓶頸.

方案3

工具:使用LVS的VS/TUN模式
優(yōu)點(diǎn):free
缺點(diǎn): 能實(shí)現(xiàn)的LB策略只能是LVS所支持的那些,如果想自己定義似乎不可能。

方案4

工具:編寫統(tǒng)一調(diào)度服務(wù)
優(yōu)點(diǎn):有HTTP轉(zhuǎn)發(fā)的所有優(yōu)點(diǎn),而且不需要流量經(jīng)過,因此性能要比HTTP轉(zhuǎn)發(fā)高很多。
缺點(diǎn):
  1. 需要客戶端的參與。(基本排除了瀏覽器和升級困難)。稍顯復(fù)雜的緩存策略。
  2. 這個服務(wù)會成為一個`移動接入層`,將會具備相當(dāng)規(guī)模。(成本)。

總結(jié)

選擇方案首先選擇能完全滿足自己業(yè)務(wù)需求的方案.然后在從中選擇功能&性能/價格比最高的.

以上四個方案,也可以分為L7層和其他.對于需要更多業(yè)務(wù)信息參與的負(fù)載均衡,則必須從7層協(xié)議入手.

方案2和方案4都可以解析7層協(xié)議的內(nèi)容,其中方案4則能更靈活的實(shí)現(xiàn)通用的負(fù)載均衡,條件是必須有客戶端的支持.因此如果能解決客戶端的問題則方案4是比較好的方案,否則只能選擇方案2了.

另外也不一定選擇一種方案,能有效結(jié)合這些方案會使負(fù)載均衡能力更強(qiáng)大.

比如方案4無法干預(yù)瀏覽器的請求,這個時候就需要使用其他方案來彌補(bǔ)(方案1,2,3皆可).

同時還要區(qū)分動態(tài)資源和靜態(tài)資源的請求,以上方案主要使針對動態(tài)資源的負(fù)載均衡,對于靜態(tài)資源,CDN提供了更好的解決方案.


參考資料:

Citrix的NetScaler說明書:http://support.citrix.com/servlet/KbServlet/download/22506-102-671576/gslb-primer_FINAL_1019.pdf

GSLB和CND:http://blog.csdn.net/u010340143/article/details/9062213

智能DNS:http://www.cnblogs.com/peon/archive/2007/12/30/1021219.html

負(fù)載均衡:http://blog.arganzheng.me/posts/load-balance.html

LVS:http://www.linuxvirtualserver.org/zh/lvs1.html

總結(jié)

以上是生活随笔為你收集整理的转发 GSLB概要和实现原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。