企業級服務高可用部署-應用層雙活策略

        隨着信息技術的快速發展,企業應用規模也在迅速擴大,客戶對應用的服務質量要求也越來越高。然而隨着近年來多家網絡運營商DNS解析故障,網絡丟包,網絡抖動等問題一直沒有得到很好的解決,企業應用雙活逐步成爲近年來很多公司IT規劃建設的重要方向。
        雙活包含網絡雙活和應用雙活,在應用層面上分爲“同城雙活”和“異地雙活”,宏觀策略基本上都是將應用服務分散部署在不同的軟硬件環境中,區別可能就在於機房的位置是否在同一個城市。雙活在網絡層面上分爲同網雙活和異網雙活,整體上來看網絡雙活主要的關注點是網絡服務商的網絡類型和網絡服務位置。
        目前大多數企業的關注點更多的在應用雙活,然後近年來網絡運營商各種網絡故障頻發,系統的可用性無法得到有效的保障。本文就是在這種大環境下,按照“減少網絡鏈路,避免網絡交叉”這個大原則,提出企業應用網絡雙活解決方案,包括DNS解析雙活策略,負載均衡雙活策略,企業應用雙活策略是個部分。從以往的經驗中來看,良好的網絡雙活設計對於減少請求鏈路,避免網絡故障導致服務不可用方面效果是非常顯著的。

 

應用層雙活策略整體架構圖
應用層雙活策略整體架構

DNS解析雙活策略 

         DNS解析雙活策略主要在於當服務不可用時,客戶端能夠快速獲取新的IP嘗試請求最近可用備用服務。整體包括客戶端請求地址列表和DNS就近接入策略。在客戶端通過配置地址列表分別對應移動,電信,聯通三大網絡服務運營商環境下的DNS解析服務器。而每臺DNS解析服務器配置在不同網絡環境下的企業應用,並通過最近接入原則解析用戶請求實現就近接入。

        考慮到成本問題和用戶訪問的友好性,企業可以適量精簡,選擇使用一個域名配合多家運營商的DNS解析服務,至少是一家運營商的DNS服務器做了高可用策略,服務儘量不再同一網段,同一機房,同一網絡服務商。只是這樣一來當這家運營商的DNS解析服務發生故障的時候,企業的服務也就完全中斷了。這個問題其實還是比較嚴重的,比如2015年四月份四川電信遞歸DNS大規模故障,2015年6月份山東聯通DNS大規模癱瘓,2015年12月6日起全國運營商遞歸DNS出現較大範圍內域名間隙性解析緩慢或者解析到127.0.0.1的情況……2019年4月4日早上10:30分左右,國內知名公共DNS服務商“114DNS”發生故障。其實這樣的問題非常多,而且每年都有發生。所以在條件允許的情況下還是希望至少同時部署兩家不同服務商的DNS解析服務,其實這部分成本還是很低的相對整個企業應用系統來說通常都可以忽略。
 

負載均衡雙活策略
        負載均衡策略主要涉及Nginx和F5。Nginx是軟件負載弱網絡依賴,低成本高性能,安裝配置比較簡單同時可以很好的避免企業應用環境直接暴露在互聯網環境中。F5是硬件負載均衡,可以通過智能交換機實現,處理能力更強,而且與系統無關,更適合大訪問量簡單應用。但是成功過高,配置冗餘,網絡探活無法有效掌握服務器以及應用狀態。
綜合考慮安全性,硬件成本,運維成本,負載均衡策略採用Nginx(我們暫時稱爲Nginx1)+F5+Nginx(我們暫時稱爲Nginx2)的組合策略,應該是一種比較合理的方案。Nginx1負責解析分發請求到F5服務器,在充分利用F5的硬件資源帶來的優秀處理能力的同時,避免企業內部網絡暴露在外網環境中。同樣F5下面也可以對應Nginx2的負載均衡服務最終將用戶請求分發到具體的應用實例上。這樣既可以達到減少F5配置維護難度,又可以通過Nginx2端口檢測到服務器內部的故障,並把錯誤的請求重新提交到另一個節點。

         負載均衡雙活策略中存在的一個問題是F5的處理能力沒有得到充分的發揮,當然因爲我們這邊涉及的是一個應用的部署問題,通常一個企業會有很多個應用的這種情況下低成本的Nginx可以以應用爲單位單獨部署,既方便維護又能實現應用隔熱,安全且保證性能。當然,關於F5資源利用率這是個一個硬件資源利用的問題,這個問題我們後面通過專門的文章再補充。


應用服務部署雙活策略
       應用服務部署目前有很多主流的容器,平臺都可以很方便的完成應用服務的部署和維護工作。例如Docker,K8s或者swarm等可選擇 的範圍非常廣泛。我們這裏從網絡雙活層次提出的建議是相互關聯的應用部署在同一網段,同一機房,因爲這些應用本身就是同工實現同一個業務服務的,單獨加強某一個應用的可用性作用不大,反倒是會加強運維的複雜程度和請求鏈路的增加。而對於同時完成一個服務的一組應用應該部署在不同的網絡環境下,這樣可以儘量減少網絡故障對服務造成的影響。

        關於企業雙活策略的問題由於文中所述策略比較完整,企業還是要根據自身的服務質量容忍度,企業可以根據實際應用酌情精簡。

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 2230
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章