原創: 京東雲IaaS產品部 京東雲開發者社區 昨天算法
在高可用場景中,後端服務器集羣以前一般會部署負載均衡器,負載均衡器做爲訪問流量的統一入口,會將用戶的訪問流量按照必定的策略自主分發給多臺後端服務器,從而調整資源利用狀況,消除因爲單臺後端服務器故障對系統的影響,提升系統可用性、擴展系統服務能力。後端
京東雲首創分佈式網絡負載均衡(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端口」中的規則:
入站規則放行目的端口爲2二、80的流量;
出站規則放行全部流量。
步驟1:建立私有鏡像
私有鏡像是基於您的自有實例建立自定義鏡像,您能夠爲已部署業務的實例製做鏡像,基於此鏡像快速建立多個具備相同配置和軟件環境的實例。您能夠將私有鏡像共享給同其餘京東雲用戶,被共享鏡像會顯示在目標用戶同區域的共享鏡像列表中。
本舉例中基於部署Nginx WEB服務的雲主機建立私有鏡像,並部署GoAccess用來統計源端用戶的訪問狀況,高可用組彈性擴展時使用該鏡像建立雲主機實例。
步驟2:建立實例模板
高可用組(Availability Group,簡稱AG)是京東雲提供的業務高可用部署解決方案,是計算資源邏輯集合。提供了組內單元在數據中心內橫跨多個故障域(Fault Domain,簡稱FD)均衡部署的機制,示例分散部署在相互隔離的物理資源上,當出現硬件故障或定時維護時只會影響部分實例,您的業務仍爲可用狀態。故障域間故障隔離,最大程度規避了局部故障對高可用應用總體的影響:
一、基於實例模板建立高可用組;
二、開啓高可用組的自動伸縮功能,設置組內最大實例個數、最小實例個數及移除策略;
三、添加告警策略,基於監控指標實現後端服務器的彈性伸縮。
步驟一:建立DNLB實例
DNLB實例必須與後端服務器組屬於同一個地域下的同一個私有網絡;
DNLB實例默認全可用區分佈式部署,不須要用戶額外配置。
步驟二:建立監聽器
監聽器用來經過協議和端口號監聽須要進行負載均衡的請求。
步驟三:建立後端服務
後端服務用來定義訪問流量自DNLB轉發到後端服務器的轉發協議、端口和調度算法。DNLB默認透傳客戶端源IP地址,不須要用戶在DNLB和後端服務器上額外配置,知足用戶溯源或基於源IP統計需求。
步驟四:建立健康檢查
DNLB經過健康檢查定時檢測後端服務器的運行情況,可自定義檢測頻率、健康/不健康判斷條件。開啓健康檢查後,當後端服務器運行異常時,DNLB將中止向其分發流量,且將流量分發給其餘運行正常的後端服務器,異常後端服務器恢復正常後,DNLB再繼續向其分發流量。
當綁定的後端服務爲高可用組時,如不配置健康檢查的端口,默認爲後端服務上配置的端口。
步驟五:添加服務器組
添加高可用組做爲後端服務器組提供服務。高可用組內的實例將根據負載狀況按照設置的彈縮策略,自動增長或減小。
(1)在瀏覽器中輸入DNLB的公網IP,請求默認使用80端口,驗證服務能夠正常訪問。
(2)DNLB可透傳客戶端源IP,不需後端服務器作任何額外配置。經過可視化工具GoAccess可統計不一樣源IP的訪問狀況。
*點擊「閱讀原文」
瞭解更多京東雲分佈式網絡負載均衡產品信息*
想要了解更多高併發解決方案,除咱們的負載均衡產品,
還可報名參加5月26日(週日)在上海舉辦的「京東雲技術沙龍」
從京東在零售業和社交電商方面的核心技術以及在「618」、「雙11」大促時的成功解決方案出發,帶你探索新零售時代的數字化創新