馬 龍
?
探討通過MQ實現接口灰度發布的一種模式
馬 龍
福建富士通信息軟件有限公司,福建 福州 350003
灰度發布在互聯網產品的應用越來越廣泛,逐步演變成為一種信息系統平穩升級過渡的發布理念。傳統的信息系統升級方式是做一次性的軟件更新,這種跳躍式升級風險極大,在追求用戶極致體驗的思維下已不合時宜。針對電信運營商系統,通過對校驗及時率指標的詳細分析,詳細說明如何在業務規則非常復雜的電信業務受理系統中,針對接口服務應用灰度發布技術進行平穩升級。
灰度發布;MQ技術;校驗及時率
以某電信運營商為例,目前4G業務的受理已實現全國集中,業務受理的界面全國統一集中,而業務規則的校驗分省處理實現個性化,集中系統與省級系統之間通過兩級接口交互實現規則校驗。假設運營商對業務規則校驗的5 s及時率要求99 %以上,雖然兩級接口的交互走DCN內網,但由于電信行業的業務規則復雜繁多,校驗及時率這個指標對信息系統而言是一個重大的挑戰。
在進一步探討接口灰度發布模式之前,需要對本文探討的校驗及時率指標做進一步的說明,營業受理的步驟是:
(1)客戶查詢;(2)信息采集;(3)訂單提交;(4)協議打印;(5)訂單確認;(6)受理完成。
首先,校驗及時率是第3步,即訂單提交時觸發的,是對業務規則校驗接口的考核,電信行業業務復雜,規則數量達到上百個且不可遺漏任何一個規則。
其次,業務受理在訂單提交時下省做規則校驗,一旦在第5步訂單確認后,即對用戶的檔案進行變更后,即使對同一個用戶,同樣的受理信息再次進行規則校驗,校驗的結果全然不同。
再次,業務規則不斷疊加是電信系統的一個特點,而由于校驗及時率指標的存在,信息系統都存在持續優化規則校驗接口性能的壓力。
最后,由于校驗接口決定業務是否可以繼續辦理,對營業而言極其敏感,持續優化的過程中,如何保證接口性能確實是提升的,業務規則邏輯是對的,升級必須是平穩的,就成為研發人員的一個重大挑戰。
灰度發布是一種理念,如何應用這種理念讓軟件系統升級方式更平穩,達到讓產品最大限度穩定的目的,是本文探討的重點。應用灰度發布的理念來提升校驗及時率指標,先看兩種模式對比:

圖1
A版本為提供給運營商的兩級接口調用的生產當前版本,B版本為生產下一個版本。實現灰度引流,首先必須讓兩個版本必須是共存的,即A版本為生產提供即時服務,B版本是優化后的版本,用以驗證優化效果,以供評估是否可以替換B版本。
評估的關鍵在于兩個指標:指標一是B版本驗證的結果必須與A版本一致,若不一致說明B版本存在邏輯錯誤,必須先行修正;指標二是取得A/B版本的具體耗時數據,對比提升度,以確定是否符合升級條件。
首先,原本只是針對A版本進行規則校驗,而通過B版本再次規則校驗增加了系統的處理邏輯,如何能否避免對A版本的校驗性能不產生影響,是一個關鍵考慮要素。
其次,由于第5步進行訂單確認之后,用戶檔案發生變化,因此一旦訂單確認之后再做引流校驗,兩次校驗的結果會截然不同,導致無參考意義,因此必須保證在訂單確認之前完成校驗過程,而第3步和第5步之前間隔的時間預計為三十秒。
如上兩點的限制,MQ技術則能充分避開且充分發揮自身在這兩點上的優勢,在對A版本校驗完畢后,通過MQ拋出校驗消息給B版本,保證對A版本的校驗性能影響最小化,同時由于MQ的高并發性,能最大限度保障在三十秒的時間內完成兩次校驗,從而非常完美地解決了這兩個問題。
應用MQ技術實現接口灰度發布,有兩個關鍵點要考慮:(1)關鍵點一:MQ出現消息堵MQ可能會出現消息堵的情況,由于步驟3和步驟5之間相距時間甚短,一旦消息堵了,導致在步驟5之后B版本才收到校驗消息事件,此時的校驗結果與A版本不一致,此類數據必須剔除考慮,不記入指標判斷。由于MQ的高性能,實際應用中此類數據為少數。(2)關鍵點二:數據庫的性能影響。引入接口灰度發布技術后,對數據庫的壓力是增加的,原來只在A版本校驗,現在同時通過B版本進行校驗,單獨針對校驗及時率指標而言,數據庫的壓力是翻倍的,這點可以通過控制灰度引流流的節點數量來進行限制,否則無形中也會對A版本的校驗性能有所影響。
本文針對校驗及時率指標這種場景進行詳細說明,對系統升級遇到的困擾進行分析,探討如何將MQ技術與灰度發布理念相結合,應用于該情境下,從而探討接口灰度發布的一種模式,該模式帶來了極大的好處,使得校驗及時率指標的優化結果可以在事前即可得知,從而極大提高用戶體驗的同時,降低對系統升級維護的壓力。
在互聯網思維下,特別是分布式架構系統的逐步盛行,對系統升級的平穩性要求將越來越高。灰度發布作為一種理念,必定會在軟件系統的升級過程中,有越來越大的用武之地。
[1]子柳.淘寶技術這十年[M].北京:電子工業出版社,2013.
Discussion on the realization of a model of gray scale release through MQ
Malone
Fujitsu Information Software Co.,Ltd.,Fujian Fuzhou 350003
the application of gray scale distribution in Internet products is more and more widely,and gradually evolved into a new information system to upgrade the transition of the concept of a smooth transition. The traditional way to upgrade the information system is to do a one-time software updates,this kind of jump upgrade risk is great,in the pursuit of the ultimate user experience has been outdated thinking. According to the system of telecom operators,through a detailed analysis of the timely check index,detailed description of how the business rules are very complex telecom business acceptance system,aiming at the application interface service gray technologies are steadily upgrade.
gray release;MQ technology;check and timely rate
TN919.81
A
1009-6434(2016)11-0132-02
馬龍(1983—),男,福建尤溪人, 漢族,職稱為軟件工程師,學歷本科。研究方向為電信行業。