G行移動辦公平臺不僅承接了即時通訊的功能,更是各個辦公類應用的服務入口,是全行人員實時溝通交流和日常移動辦公的工作平臺,因此對該平臺的安全運營要求既要做到7*24小時無間斷服務,又要做到快速響應業務需求敏捷發布投產。為此,移動辦公平臺基于容器化架構,通過采用藍綠部署,從而做到了無中斷、用戶無感的敏捷發布和長時間安全穩定運行。本文重點以移動辦公平臺系統為例介紹G行藍綠部署落地實踐。
藍綠部署是一種通過運行相同的環境來減少風險和故障時間的部署技術。這些環境被稱為藍色環境和綠色環境。其中只有一個環境是活動環境,該環境服務于所有生產流量。
如圖1所示,在藍綠部署中,一共有兩套系統:一套是正在給生產提供服務的系統,標記為“綠色環境”;另一套是準備發布的系統,標記為“藍色環境”。這兩套系統,只是系統版本和對外服務情況不同,正在對外提供服務的舊系統是綠色系統,新部署的系統是藍色系統。
圖1 藍綠部署示意圖
藍色環境不對外提供服務,用來做什么?
藍綠部署的目的是減少發布的中斷時間,發布出現問題后可以快速撤回發布,兩套環境沒有耦合的時候才能百分百保證不干擾。
藍綠部署技術能夠有效的提升用戶體驗,保障業務連續性,對安全運營有較大的意義,以下將從部署優點和選型要求兩個方面介紹移動辦公平臺(簡稱GDJ)選擇藍綠部署的原因。
藍綠部署有以下幾個優點,這些優點可以充分應對當前安全運營面臨的挑戰,無縫升級和隨時部署對用戶無感發布,減少版本部署帶來的風險。切換方便和瞬間回滾、縮短回退時長,迅速從故障場景中恢復,最大限度保障系統高可用性。
為了支持藍綠部署,系統應當滿足如下的架構設計要求:
正是由于藍綠部署自身的諸多優點,以及移動辦公平臺本身具有應用無狀態、基于容器化的微服務橫向高可擴展性架構、通過反向代理服務器進行負載均衡轉發請求的特點,決定了移動辦公平臺適用藍綠部署的方式。
結合G行移動辦公平臺,從應用架構改造、應用部署原則、藍綠環境切換策略、應用驗證幾個方面介紹藍綠部署落地實踐過程。
移動辦公平臺原有物理架構如圖2所示,反向代理服務器將來自互聯網區域的https請求轉發至webserver,由其將請求交由后臺服進行簡單處理并和數據庫服務器等完成一系列的交互。在原有架構中業務處理層中的后臺服務只有一套容器環境,數據層數據庫相關機器為虛擬機。改造的核心在于業務處理層復制新增一套容器環境,兩套完全不耦合的容器環境共用一套數據庫服務器,避免兩套系統之間的業務數據不一致,以及如何同步等帶來的復雜性問題。
圖2 舊有架構
在藍綠環境改造的過程中,接入層和業務處理層原有的反向代理服務器以及webserver等物理機不發生變動,業務處理層橫向擴展一套后臺服務獨立的容器環境作為藍色環境,與原有的生產環境構成藍綠環境供藍綠部署以及生產使用,同時需要開通網絡訪問關系保證網絡可達。為了應對兩套環境可能給數據庫內存等帶來的壓力,數據層數據庫相關的機器也需要從虛擬機遷移到物理機器上。移動辦公平臺改造后的架構如圖3所示,來自于webserver的流量具備到達其中任意一套環境的條件,并在兩套環境中可以隨時進行切換。
圖3 現有架構
在前文藍綠部署簡介中,應用部署只需在藍環境中進行,藍綠環境相差一個版本,但是基于金融行業的行業特殊性,針對移動辦公平臺藍綠部署我們制定了以下的原則。
移動辦公平臺的藍綠環境切換支持多種方式,主要有用戶切換和流量切換兩種方式,用戶切換對用戶歸屬環境進行切換,不同環境下具有不同的用戶。流量切換將請求進行切換,實現對不同的請求轉發至指定環境。
用戶切換的動作是在移動辦公平臺系統的管理控制臺中通過將對應的用戶和機構添加至相應的環境來完成操作,其本質是修改數據庫當中藍綠環境下的用戶信息表決定環境下哪些用戶。這樣當藍環境部署完畢之后可以將部分或者全部用戶添加至此環境,完成用戶的切換動作。
流量切換工作,是通過修改反向代理服務器的配置文件完成的,修改配置文件后,需要重新加載新的配置文件以生效新地址后進行流量切換。配置文件通過reload的方式進行,也可以選擇restart的方式,但是restart的方式會重啟服務。這個重啟會造成服務一瞬間的中斷,造成原有請求無法正常返回。通過reload的方式加載新的配置文件,反向代理服務是不會中斷的,新的請求會導向藍環境,而原有已經進入綠環境的請求,已經建立到綠環境后端服務器的通信信道不會中斷,直到原有請求處理完成返回結束。在流量切換的瞬間是不會對原有請求造成影響。通過修改配置以及reload生效后,反向代理將請求默認轉發到藍環境完成請求流量的切換動作。
4、應用驗證
應用部署完畢后,對藍綠環境進行切換,藍環境將承擔生產所有流量,承載真實業務。此時,必須高度關注應用的驗證情況,如果發現驗證出問題,或者運行指標有下降,則需要及時進行應急處理,應用的主要驗證方式有兩種,一種是交易量驗證,一種是日志驗證。
移動辦公平臺架構改造新增藍環境之后,同時需要完善相應的生產監控策略。依托于G行BPC監控系統,改造之后在BPC交易中新增藍環境交易鏈路監控,健全對全鏈路交易的監控策略,補充交易量、成功率,響應率,響應時間等監控指標。在藍綠環境切換后可以通過對交易量的監控驗證生產流量切換是否成功。如圖4所示,切換成功后,可以看到一邊環境的交易量已下降為零。
圖4 BPC交易量驗證
通過對反向代理服務器日志中的請求標簽進行捕捉,在切換后相應標簽的關鍵字隨著時間的推移將越來越多,請求已全部轉發至指定環境。
圖5 日志驗證
藍綠部署的使用為移動辦公平臺應用版本的發布帶來了諸多收益,其主要收益有以下幾點:一是變更開始時間不再受限,由之前的凌晨24點業務低峰期前移至下午18點,即使是在緊急情況下辦公業務高峰性也可以進行變更操作。二是系統回退時間大幅縮短,未使用藍綠部署之前,回退需要重新在容器云部署舊版本并進行啟停操作,單AZ回退花費時間15分鐘,當前版本回退只需進行藍綠環境的切換,切換時長只需3分鐘左右,應急回退能力得到顯著提升。三是版本無感發布,不會對用戶的正常使用產生影響,提升用戶使用體驗。
藍綠部署是銀行業應用部署中的一種重要策略,可以確保應用程序的高可用性、高性能和高可靠性,從而幫助銀行實現業務運營的穩定和可持續發展。在銀行的應用現狀中,許多銀行已經采用了藍綠部署策略來管理其核心應用程序的部署和更新。這些應用程序包括交易系統、支付系統等。
在互聯網廠商當中,藍綠部署已經成為了許多云原生應用開發和部署的標準實踐之一。大多數云服務提供商(如AWS、Azure、Google Cloud等)都提供了藍綠部署的相關服務和工具,如AWS CodeDeploy、Azure DevOps等。此外,也有很多第三方開源工具和框架,如Spinnaker、Jenkins、Kubernetes等,都支持藍綠部署的實現。
本文從藍綠部署的概念、特點以及應用部署三個方面介紹了藍綠部署在G行移動辦公平臺的應用實踐。藍綠部署為移動辦公平臺新版本的發布帶來了廣泛的便利性,新版本上線時間由原來的深夜大幅前移至業務低峰時段。未來隨著G行IT架構轉型的持續深入,越來越多的系統將部署在全棧云平臺。依托于全棧云容器平臺以及藍綠部署等一系列持續發布的新技術,應用系統新版本的無中斷隨時上線將得到深入的推廣,為用戶的使用帶來更好的體驗。
本文鏈接:http://www.www897cc.com/showinfo-26-17405-0.html藍綠部署在G行移動辦公平臺的應用實踐
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 原來真的可以在 Next.js 中寫 PHP 代碼?網友的腦洞又大了!
下一篇: 深入理解gorm是如何和數據庫建立連接的