全域性負載均衡GSLB之「部署篇」

2021-09-08 18:49:12 字數 3142 閱讀 3972

前言

隨著web應用的不斷發展,客戶對於業務的穩定性、可靠性等也提出更高的要求,已不再侷限於idc內部的伺服器虛擬化。很多人都清楚,國內各大運營商之間資料互訪的效果不盡如意,而作為使用者,特別是要求業務及時響應的企業使用者,一方面要考慮異地idc的資料容災,另一方面要實現就近性訪問,提高客戶訪問體驗,這時,全域性負載均衡gslb是乙個很好的解決方案。

gslb的實現原理

大部分人只知道dns的作用,就是幫助客戶端去「記住」每個在網際網路發布的服務ip,畢竟有關聯性的單詞比32位的數字更方便記憶。gslb的作用也類似於dns,可以把gslb裝置當作一台dns server,所有設定在這台裝置上的網域名稱都能解析出a記錄(服務ip)。但比普通伺服器多了乙個重要的功能,就是「智慧型」。在做出解析之前,gslb裝置會根據請求包的「出處」,各a記錄的響應效率,後台伺服器的可用性等進行分析判斷,所以在很多時候,人們將gslb也稱為「idns」,即智慧型dns。

gslb的部署

需要實現智慧型解析,就需要將網域名稱的解析權轉交給gslb裝置,更具dns的遞迴查詢原理,只要網域名稱的解析請求能最終到達gslb裝置上,gslb裝置就能作出合適的響應。這裡看看dns伺服器上的解析配置:

a10test.com  ns  dns1.chinadns.com

a10test.com  ns  dns2.chinadns.com

www.a10test.com  a  222.222.222.222

委派授權解析有兩種常用方式,以適應不同的dns伺服器

1)ns直接委派

把原a紀錄刪掉

a10test.com  ns  dns1.chinadns.com

a10test.com  ns  dns2.chinadns.com

dns1.chinadns.com  a  gslb裝置isp1介面dns偵聽位址

dns2.chinadns.com  a  gslb裝置isp2介面dns偵聽位址

2)別名方式委派

a10test.com  ns  dns1.chinadns.com

a10test.com  ns  dns2.chinadns.com

www. a10test.com   cname  www.ax. a10test.com.

ax. a10test.com  ns  dns1. ax. a10test.com

ax. a10test.com  ns  dns2. ax. a10test.com m

dns1. ax. a10test.com  a  gslb裝置isp1介面dns偵聽位址

dns2. ax. a10test.com   a  gslb裝置isp2介面dns偵聽位址

以下是萬網上的圖例

採用ns直接委派的方式最方便,但會將整個授權域轉交給gslb裝置,如果gslb裝置不能完整支援dns server的所有記錄,如mx/soa等,就會有問題,而且dns切換需要花費一天左右的時間才能基本完成,業務的斷網時間是必須考慮到的。而別名方式影響的是單個網域名稱,影響面比較小,但也要求原網域名稱維護商能夠提供別名的更改許可權(有些網域名稱維護商只提供a記錄和ns記錄的更改)。

完成了網域名稱的解析委派後,在gslb裝置上做上相應的網域名稱解析配置就行。需要注意的是,如果是直接委派,網域名稱與網際網路上訪問的網域名稱相同:

如果是別名方式,網域名稱則是別名後的子域網域名稱。

要驗證gslb裝置能否實現解析,可先將客戶端的nslookup server設定成gslb的dns偵聽位址,只要有記錄返回便表明裝置的解析功能是正常的。然後就是等待網際網路上的各級dns伺服器的記錄更新,這個過程是相對漫長的,需要做的是耐心等待。。。

nginx+web伺服器 可以實現負載均衡,但是一台nginx也是有限的,如果並非量高的話,在他的上層如何實現負載均衡。       如果是dns 或者 cdn的話,建多個機房,勢必有多個機房資料同步的問題。       有什麼這方面的好的資料嗎?

2013-12-28 10:57

#行家高質暢答賽火熱開賽 !超級豪禮等你來~#

提問者採納

這方面的資料,基本都是一塊一塊不完整的。我大概跟你說乙個基本架構:

1、dns伺服器,如果資金充足的話,建議使用bgp機房,2-3臺dns伺服器均衡,通常使用bind軟體。如果資金緊的話,可以購買專業的dns服務,比如國內的dnspod。

2、cdn伺服器,一開始如果想省事,可以買專業公司的服務,如chinacache,但隨著發展成本會越來越高。自建的話,可能分別搭建,放電信、聯通、移動等不同機房的伺服器,通過dns做動態解析。超大**的話,可以用squid,普通中至大型用nginx,內部玩玩用varnish。

3、前端均衡,資金充足的話,可以使用硬體裝置,幾十萬一台。自已有技術隊伍的話,就用nginx/haproxy+keepalived等自已組建前端。均衡的方式都比較靈活,隨機、權重、ip、url都有。

4、同步的問題要看同步什麼東西,普通的可以實時檔案同步。但資料庫的話,要看具體型別選擇同步方式了。

5、後端的應用伺服器和資料庫集群,要看流量規劃了。

追問:

好像還沒有具體的說,如果多台 nginx 如何實現負載均衡。  看你說的意思,是不是就是用dns和cdn建立多套程式每個程式 使用nginx    做反向**。   假如考慮到成本等其他原因,不想建立多套系統,就是乙個機房或者私有雲裡面,建立這套系統,實現多個nginx之間的負載均衡,有什麼好的辦法?

追答:

多台nginx實現均衡,有幾種方法:

1、每台nginx都有公網位址,在網域名稱處設定同個網域名稱多個指向,最簡單實現輪洵。但故障切負會慢一點。

2、一台公網nginx通過upstream功能,輪洵、ip、url多方式分發到內網多台nginx。但公網的nginx如果down機的話,內網全段。

3、一對公網nginx加三個公網ip,通過keepalive實現高可用,再upstream到內網。

4、一台硬體均衡伺服器在前端,再通過硬體均衡到內容的其它伺服器。

你所說的那個假如,可以通過 2 、3、 4的方法實現。

CDN技術之 全域性負載均衡(GSLB)

負載均衡就是智慧型排程 全域性負載均衡 gslb 的負載均衡主要是在多個節點之間進行均衡,其結果可能直接終結負載均衡過程,也可能將使用者訪問交付下一層次的 區域或本地 負載均衡系統進行處理。gslb最通用的是基於dns解析方式,還有http重定向 ip路由等方法 dns就是ip位址和 互換 當需要訪...

全域性伺服器負載均衡(GSLB)

引言在過去的幾年中,隨著網際網路的快速發展和企業應用web化,伺服器負載均衡 slb 技術已經不再陌生。伺服器負載均衡根據使用者資料請求中的4 7層資訊將其智慧型 到後端少則數台多則成百上千臺應用伺服器,並且確保根據事先定義的策略選擇最佳的伺服器進行 從而一定程度上解決了應用的可用性 擴充套件性等問...

GSLB負載均衡策略

負載均衡策略 1.靜態策略 3 基於加權的pop節點 基於物理上的節點 4 基於地理位置 選擇乙個在地理位置上與使用者距離最近的pop節點或者虛擬伺服器來提供服務 5 基於pop節點管理優先順序 比如0 255的優先順序,誰的優先順序高使用誰來服務 6 基於簡單的輪詢 針對每個解析請求對所有可提供服...