馬 龍
?
探討通過(guò)MQ實(shí)現(xiàn)接口灰度發(fā)布的一種模式
馬 龍
福建富士通信息軟件有限公司,福建 福州 350003
灰度發(fā)布在互聯(lián)網(wǎng)產(chǎn)品的應(yīng)用越來(lái)越廣泛,逐步演變成為一種信息系統(tǒng)平穩(wěn)升級(jí)過(guò)渡的發(fā)布理念。傳統(tǒng)的信息系統(tǒng)升級(jí)方式是做一次性的軟件更新,這種跳躍式升級(jí)風(fēng)險(xiǎn)極大,在追求用戶(hù)極致體驗(yàn)的思維下已不合時(shí)宜。針對(duì)電信運(yùn)營(yíng)商系統(tǒng),通過(guò)對(duì)校驗(yàn)及時(shí)率指標(biāo)的詳細(xì)分析,詳細(xì)說(shuō)明如何在業(yè)務(wù)規(guī)則非常復(fù)雜的電信業(yè)務(wù)受理系統(tǒng)中,針對(duì)接口服務(wù)應(yīng)用灰度發(fā)布技術(shù)進(jìn)行平穩(wěn)升級(jí)。
灰度發(fā)布;MQ技術(shù);校驗(yàn)及時(shí)率
以某電信運(yùn)營(yíng)商為例,目前4G業(yè)務(wù)的受理已實(shí)現(xiàn)全國(guó)集中,業(yè)務(wù)受理的界面全國(guó)統(tǒng)一集中,而業(yè)務(wù)規(guī)則的校驗(yàn)分省處理實(shí)現(xiàn)個(gè)性化,集中系統(tǒng)與省級(jí)系統(tǒng)之間通過(guò)兩級(jí)接口交互實(shí)現(xiàn)規(guī)則校驗(yàn)。假設(shè)運(yùn)營(yíng)商對(duì)業(yè)務(wù)規(guī)則校驗(yàn)的5 s及時(shí)率要求99 %以上,雖然兩級(jí)接口的交互走DCN內(nèi)網(wǎng),但由于電信行業(yè)的業(yè)務(wù)規(guī)則復(fù)雜繁多,校驗(yàn)及時(shí)率這個(gè)指標(biāo)對(duì)信息系統(tǒng)而言是一個(gè)重大的挑戰(zhàn)。
在進(jìn)一步探討接口灰度發(fā)布模式之前,需要對(duì)本文探討的校驗(yàn)及時(shí)率指標(biāo)做進(jìn)一步的說(shuō)明,營(yíng)業(yè)受理的步驟是:
(1)客戶(hù)查詢(xún);(2)信息采集;(3)訂單提交;(4)協(xié)議打印;(5)訂單確認(rèn);(6)受理完成。
首先,校驗(yàn)及時(shí)率是第3步,即訂單提交時(shí)觸發(fā)的,是對(duì)業(yè)務(wù)規(guī)則校驗(yàn)接口的考核,電信行業(yè)業(yè)務(wù)復(fù)雜,規(guī)則數(shù)量達(dá)到上百個(gè)且不可遺漏任何一個(gè)規(guī)則。
其次,業(yè)務(wù)受理在訂單提交時(shí)下省做規(guī)則校驗(yàn),一旦在第5步訂單確認(rèn)后,即對(duì)用戶(hù)的檔案進(jìn)行變更后,即使對(duì)同一個(gè)用戶(hù),同樣的受理信息再次進(jìn)行規(guī)則校驗(yàn),校驗(yàn)的結(jié)果全然不同。
再次,業(yè)務(wù)規(guī)則不斷疊加是電信系統(tǒng)的一個(gè)特點(diǎn),而由于校驗(yàn)及時(shí)率指標(biāo)的存在,信息系統(tǒng)都存在持續(xù)優(yōu)化規(guī)則校驗(yàn)接口性能的壓力。
最后,由于校驗(yàn)接口決定業(yè)務(wù)是否可以繼續(xù)辦理,對(duì)營(yíng)業(yè)而言極其敏感,持續(xù)優(yōu)化的過(guò)程中,如何保證接口性能確實(shí)是提升的,業(yè)務(wù)規(guī)則邏輯是對(duì)的,升級(jí)必須是平穩(wěn)的,就成為研發(fā)人員的一個(gè)重大挑戰(zhàn)。
灰度發(fā)布是一種理念,如何應(yīng)用這種理念讓軟件系統(tǒng)升級(jí)方式更平穩(wěn),達(dá)到讓產(chǎn)品最大限度穩(wěn)定的目的,是本文探討的重點(diǎn)。應(yīng)用灰度發(fā)布的理念來(lái)提升校驗(yàn)及時(shí)率指標(biāo),先看兩種模式對(duì)比:
圖1
A版本為提供給運(yùn)營(yíng)商的兩級(jí)接口調(diào)用的生產(chǎn)當(dāng)前版本,B版本為生產(chǎn)下一個(gè)版本。實(shí)現(xiàn)灰度引流,首先必須讓兩個(gè)版本必須是共存的,即A版本為生產(chǎn)提供即時(shí)服務(wù),B版本是優(yōu)化后的版本,用以驗(yàn)證優(yōu)化效果,以供評(píng)估是否可以替換B版本。
評(píng)估的關(guān)鍵在于兩個(gè)指標(biāo):指標(biāo)一是B版本驗(yàn)證的結(jié)果必須與A版本一致,若不一致說(shuō)明B版本存在邏輯錯(cuò)誤,必須先行修正;指標(biāo)二是取得A/B版本的具體耗時(shí)數(shù)據(jù),對(duì)比提升度,以確定是否符合升級(jí)條件。
首先,原本只是針對(duì)A版本進(jìn)行規(guī)則校驗(yàn),而通過(guò)B版本再次規(guī)則校驗(yàn)增加了系統(tǒng)的處理邏輯,如何能否避免對(duì)A版本的校驗(yàn)性能不產(chǎn)生影響,是一個(gè)關(guān)鍵考慮要素。
其次,由于第5步進(jìn)行訂單確認(rèn)之后,用戶(hù)檔案發(fā)生變化,因此一旦訂單確認(rèn)之后再做引流校驗(yàn),兩次校驗(yàn)的結(jié)果會(huì)截然不同,導(dǎo)致無(wú)參考意義,因此必須保證在訂單確認(rèn)之前完成校驗(yàn)過(guò)程,而第3步和第5步之前間隔的時(shí)間預(yù)計(jì)為三十秒。
如上兩點(diǎn)的限制,MQ技術(shù)則能充分避開(kāi)且充分發(fā)揮自身在這兩點(diǎn)上的優(yōu)勢(shì),在對(duì)A版本校驗(yàn)完畢后,通過(guò)MQ拋出校驗(yàn)消息給B版本,保證對(duì)A版本的校驗(yàn)性能影響最小化,同時(shí)由于MQ的高并發(fā)性,能最大限度保障在三十秒的時(shí)間內(nèi)完成兩次校驗(yàn),從而非常完美地解決了這兩個(gè)問(wèn)題。
應(yīng)用MQ技術(shù)實(shí)現(xiàn)接口灰度發(fā)布,有兩個(gè)關(guān)鍵點(diǎn)要考慮:(1)關(guān)鍵點(diǎn)一:MQ出現(xiàn)消息堵MQ可能會(huì)出現(xiàn)消息堵的情況,由于步驟3和步驟5之間相距時(shí)間甚短,一旦消息堵了,導(dǎo)致在步驟5之后B版本才收到校驗(yàn)消息事件,此時(shí)的校驗(yàn)結(jié)果與A版本不一致,此類(lèi)數(shù)據(jù)必須剔除考慮,不記入指標(biāo)判斷。由于MQ的高性能,實(shí)際應(yīng)用中此類(lèi)數(shù)據(jù)為少數(shù)。(2)關(guān)鍵點(diǎn)二:數(shù)據(jù)庫(kù)的性能影響。引入接口灰度發(fā)布技術(shù)后,對(duì)數(shù)據(jù)庫(kù)的壓力是增加的,原來(lái)只在A版本校驗(yàn),現(xiàn)在同時(shí)通過(guò)B版本進(jìn)行校驗(yàn),單獨(dú)針對(duì)校驗(yàn)及時(shí)率指標(biāo)而言,數(shù)據(jù)庫(kù)的壓力是翻倍的,這點(diǎn)可以通過(guò)控制灰度引流流的節(jié)點(diǎn)數(shù)量來(lái)進(jìn)行限制,否則無(wú)形中也會(huì)對(duì)A版本的校驗(yàn)性能有所影響。
本文針對(duì)校驗(yàn)及時(shí)率指標(biāo)這種場(chǎng)景進(jìn)行詳細(xì)說(shuō)明,對(duì)系統(tǒng)升級(jí)遇到的困擾進(jìn)行分析,探討如何將MQ技術(shù)與灰度發(fā)布理念相結(jié)合,應(yīng)用于該情境下,從而探討接口灰度發(fā)布的一種模式,該模式帶來(lái)了極大的好處,使得校驗(yàn)及時(shí)率指標(biāo)的優(yōu)化結(jié)果可以在事前即可得知,從而極大提高用戶(hù)體驗(yàn)的同時(shí),降低對(duì)系統(tǒng)升級(jí)維護(hù)的壓力。
在互聯(lián)網(wǎng)思維下,特別是分布式架構(gòu)系統(tǒng)的逐步盛行,對(duì)系統(tǒng)升級(jí)的平穩(wěn)性要求將越來(lái)越高。灰度發(fā)布作為一種理念,必定會(huì)在軟件系統(tǒng)的升級(jí)過(guò)程中,有越來(lái)越大的用武之地。
[1]子柳.淘寶技術(shù)這十年[M].北京:電子工業(yè)出版社,2013.
Discussion on the realization of a model of gray scale release through MQ
Malone
Fujitsu Information Software Co.,Ltd.,F(xiàn)ujian 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—),男,福建尤溪人, 漢族,職稱(chēng)為軟件工程師,學(xué)歷本科。研究方向?yàn)殡娦判袠I(yè)。