乾貨 | 獨創分散式網路負載均衡最佳實踐

京東科技開發者發表於2019-05-15

一、概述

在高可用場景中,後端伺服器叢集之前通常會部署負載均衡器,負載均衡器作為訪問流量的統一入口,會將使用者的訪問流量按照一定的策略自主分發給多臺後端伺服器,從而調整資源利用情況,消除由於單臺後端伺服器故障對系統的影響,提高系統可用性、擴充套件系統服務能力。


京東雲獨創分散式網路負載均衡(Distributed Network Load Balancer,簡稱DNLB), 是一款基於京東雲成熟健全的SDN技術實現的無狀態四層負載均衡,提供軟體定義的全可用區分散式負載均衡服務。


DNLB

不單獨佔用計算資源

天然具有轉發效能無瓶頸

全可用區高可用

低時延和長期免費的優點


滿足客戶“三高一低”的服務場景需求

【高效能】

【高可用】

【高彈性】

【低延時】

本文以DNLB的高可用場景為例介紹其部署的最佳實踐,使用到的京東雲產品包括 雲主機、DNLB、高可用組、私有網路及安全組。

二、場景需求

  • 負載均衡服務需採用多可用區部署,提供可用區級別的高可用。

  • 後端服務可根據流量負載情況自動調整後端伺服器個數,以實現合理利用資源,並提供服- 務器跨AZ、跨機架的高可用。

  • 後端伺服器繫結安全組,提供例項級別的安全防護。

  • 後端伺服器需獲取客戶端的源IP,基於源IP地址統計使用者訪問量。

乾貨 | 獨創分散式網路負載均衡最佳實踐

產品配置列表

乾貨 | 獨創分散式網路負載均衡最佳實踐

三、配置步驟

私有網路

步驟1:建立私有網路
私有網路(Virtual Private Cloud,簡稱VPC),是您在京東公有云上自定義的邏輯隔離的網路空間,與您在資料中心搭建的傳統網路類似,此私有網路空間由使用者完全掌控,支援自定義網段劃分、路由策略等。

建立DNLB和後端伺服器所屬的VPC。DNLB採用VPC內部署,可透過繫結彈性公網IP對外提供服務,隱藏內部結構,增強系統安全性。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟2:建立子網
子網是所屬VPC IP地址範圍內的 IP 地址塊。目前私有網路中的部分雲資源部署在子網內,如雲主機、負載均衡等。不同VPC的子網 CIDR可以重疊,同一個VPC下的子網CIDR不可以重疊。

為提供子網級的安全性,部署後端服務例項屬於單獨的私有子網lb-subnet1,DNLB屬於公有子網lb-subnet2。

乾貨 | 獨創分散式網路負載均衡最佳實踐

安全組

安全組是一種分散式的、有狀態的包過濾虛擬防火牆,可實現對例項的網路訪問控制,從而控制一臺或多臺例項的訪問流量。
修改私有網路dnlb-test-vpc的安全組“Linux安全組開放22埠”中的規則:

  • 入站規則放行目的埠為22、80的流量;

  • 出站規則放行所有流量。

乾貨 | 獨創分散式網路負載均衡最佳實踐 乾貨 | 獨創分散式網路負載均衡最佳實踐

例項模板

步驟1:建立私有映象
私有映象是基於您的自有例項建立自定義映象,您可以為已部署業務的例項製作映象,基於此映象快速建立多個具有相同配置和軟體環境的例項。您可以將私有映象共享給同其他京東雲使用者,被共享映象會顯示在目標使用者同區域的共享映象列表中。

本舉例中基於部署Nginx WEB服務的雲主機建立私有映象,並部署 GoAccess用來統計源端使用者的訪問情況,高可用組彈性擴充套件時使用該映象建立雲主機例項。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟2:建立例項模板

乾貨 | 獨創分散式網路負載均衡最佳實踐

高可用組

高可用組(Availability Group,簡稱AG)是京東雲提供的業務高可用部署解決方案,是計算資源邏輯集合。提供了組內單元在資料中心內橫跨多個故障域(Fault Domain,簡稱FD)均衡部署的機制,示例分散部署在相互隔離的物理資源上,當出現硬體故障或定時維護時只會影響部分例項,您的業務仍為可用狀態。故障域間故障隔離,最大程度規避了區域性故障對高可用應用整體的影響:

1、基於例項模板建立高可用組;

2、開啟高可用組的自動伸縮功能,設定組內最大例項個數、最小例項個數及移除策略;

3、新增告警策略,基於監控指標實現後端伺服器的彈性伸縮。

乾貨 | 獨創分散式網路負載均衡最佳實踐 乾貨 | 獨創分散式網路負載均衡最佳實踐


分散式網路負載均衡

步驟一:建立DNLB例項
DNLB例項必須與後端伺服器組屬於同一個地域下的同一個私有網路;
DNLB例項預設全可用區分散式部署,不需要使用者額外配置。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟二:建立監聽器
監聽器用來透過協議和埠號監聽需要進行負載均衡的請求。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟三:建立後端服務
後端服務用來定義訪問流量自DNLB轉發到後端伺服器的轉發協議、埠和排程演算法。DNLB預設透傳客戶端源IP地址,不需要使用者在DNLB和後端伺服器上額外配置,滿足使用者溯源或基於源IP統計需求。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟四:建立健康檢查
DNLB透過健康檢查定時檢測後端伺服器的執行狀況,可自定義檢測頻率、健康/不健康判斷條件。開啟健康檢查後,當後端伺服器執行異常時,DNLB將停止向其分發流量,且將流量分發給其他執行正常的後端伺服器,異常後端伺服器恢復正常後,DNLB再繼續向其分發流量。

當繫結的後端服務為高可用組時,如不配置健康檢查的埠,預設為後端服務上配置的埠。

乾貨 | 獨創分散式網路負載均衡最佳實踐

步驟五:新增伺服器組
新增高可用組作為後端伺服器組提供服務。高可用組內的例項將根據負載情況按照設定的彈縮策略,自動增加或減少。

乾貨 | 獨創分散式網路負載均衡最佳實踐

驗證服務訪問情況

(1)在瀏覽器中輸入DNLB的公網IP,請求預設使用80埠,驗證服務可以正常訪問。

乾貨 | 獨創分散式網路負載均衡最佳實踐

(2)DNLB可透傳客戶端源IP,不需後端伺服器做任何額外配置。透過視覺化工具 GoAccess可統計不同源IP的訪問情況。

乾貨 | 獨創分散式網路負載均衡最佳實踐


歡迎點選“ 京東雲 ”瞭解更多精彩內容


*點選“ 閱讀原文

瞭解更多京東雲分散式網路負載均衡產品資訊 *





乾貨 | 獨創分散式網路負載均衡最佳實踐

想要了解更多高併發解決方案,除我們的負載均衡產品,

還可報名參加 5月26日(週日)在上海舉辦的“京東雲技術沙龍”


從京東在零售業和社交電商方面的核心技術以及在“618”、“雙11”大促時的成功解決方案出發,帶你探索新零售時代的數字化創新





閱讀原文


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2644530/,如需轉載,請註明出處,否則將追究法律責任。

相關文章