近日,信也科技正式對(duì)外推出Radar微服務(wù)框架,近年來(lái),微服務(wù)框架在各業(yè)務(wù)場(chǎng)景中已大量落地。隨著業(yè)務(wù)的增長(zhǎng),之前的微服務(wù)的整體狀況在系統(tǒng)性能、運(yùn)維效率與服務(wù)治理方面的弊端越來(lái)越顯著,信也科技需要一套更加完善的微服務(wù)框架。而此微服務(wù)組件如雷達(dá)般迅速,可有效提高架構(gòu)靈活性與服務(wù)可治理性。
信也科技在對(duì)內(nèi)部系統(tǒng)進(jìn)行微服務(wù)改造的過(guò)程中,摸索出了一條獨(dú)具特色的道路。在進(jìn)行服務(wù)治理的初期,微服務(wù)的整體狀況是Spring Boot應(yīng)用之間相互訪問(wèn),是通過(guò)域名進(jìn)行遠(yuǎn)程調(diào)用,中間基于Nginx轉(zhuǎn)發(fā)。隨著業(yè)務(wù)的增長(zhǎng),這種方式在系統(tǒng)性能、運(yùn)維效率與服務(wù)治理方面的弊端越來(lái)越顯著,信也科技需要一套更加完善的微服務(wù)框架來(lái)適應(yīng)業(yè)務(wù)與技術(shù)的增長(zhǎng)。
2019年,信也科技曾考慮過(guò)市場(chǎng)上其他的微服務(wù)方案。例如,曾嘗試使用SOFA改造信也科技的存量項(xiàng)目,但存在代碼改動(dòng)大、故障多等問(wèn)題,在接入數(shù)十個(gè)應(yīng)用后最終決定終止。此后,在調(diào)研了Service Mesh等業(yè)界微服務(wù)相關(guān)資料的情況下,經(jīng)過(guò)反復(fù)的方案對(duì)比與權(quán)衡,信也科技基礎(chǔ)組件的架構(gòu)師另辟蹊徑,自主研發(fā)了一款輕量級(jí)、0成本接入的微服務(wù)框架——Radar。
作為信也科技自主研發(fā)的微服務(wù)框架,Radar能兼容包括SOFA在內(nèi)的存量系統(tǒng),在無(wú)需修改代碼的情況下,提供注冊(cè)發(fā)現(xiàn)、熔斷限流、服務(wù)路由、拓?fù)潢P(guān)系可視化展示等高級(jí)服務(wù)治理功能;在現(xiàn)有應(yīng)用的改造過(guò)程中,對(duì)服務(wù)上下游的升級(jí)與接入順序沒有強(qiáng)制要求;同時(shí)為確保系統(tǒng)升級(jí)風(fēng)險(xiǎn)完全可控提供了完善的回退機(jī)制。
Radar整體架構(gòu)示意圖
據(jù)了解,信也科技Radar是通過(guò)在消費(fèi)方和提供方之間引入“攔截器”的方式來(lái)提供微服務(wù)的相關(guān)能力。具體實(shí)現(xiàn)步驟如下:
第一,服務(wù)提供方在啟動(dòng)時(shí),會(huì)將當(dāng)前應(yīng)用的域名、IP和端口等信息向注冊(cè)中心注冊(cè)。注冊(cè)成功后,會(huì)定時(shí)向注冊(cè)中心發(fā)送心跳來(lái)?;睢?/p>
第二,當(dāng)消費(fèi)方在發(fā)起請(qǐng)求時(shí),通過(guò)攔截消費(fèi)方的請(qǐng)求,將域名替換成IP和端口,直接調(diào)用提供方。如果提供方未注冊(cè)到注冊(cè)中心,此時(shí)還是采用傳統(tǒng)的域名方式調(diào)用。
第三,當(dāng)服務(wù)提供方收到請(qǐng)求時(shí),攔截器會(huì)攔截入口請(qǐng)求,可做參數(shù)透?jìng)鞯裙δ堋?/p>
第四,當(dāng)服務(wù)提供方信息發(fā)生變更時(shí),注冊(cè)中心會(huì)將提供方的信息主動(dòng)推送到消費(fèi)方。
同樣使用攔截器,相比Service Mesh,信也科技Radar提供了進(jìn)程內(nèi)的流量控制,避免性能損失。此外,信也科技Radar基于Java語(yǔ)言開發(fā),能保障技術(shù)棧的穩(wěn)定性與維護(hù)能力的可靠性。接入 Radar只需引入框架依賴,具有代碼改動(dòng)小,風(fēng)險(xiǎn)低的優(yōu)勢(shì)。
信也科技Radar具體包含以下五項(xiàng)功能:
第一,定制路由規(guī)則。信也科技Radar提供了靈活多樣且基于Header和Request的路由定制,用戶可通過(guò)控制臺(tái)即可便捷地配置并實(shí)時(shí)下發(fā),無(wú)需應(yīng)用重啟。
第二,構(gòu)建拓?fù)潢P(guān)系。應(yīng)用在發(fā)起調(diào)用時(shí),攔截器會(huì)將當(dāng)前的域名信息向下游透?jìng)?,?dāng)下游收到此請(qǐng)求時(shí),會(huì)將上下游關(guān)系記錄下來(lái),形成拓?fù)潢P(guān)系,方便查看應(yīng)用之間的關(guān)系。
第三,透明監(jiān)控埋點(diǎn)。應(yīng)用發(fā)起調(diào)用時(shí),攔截器會(huì)自動(dòng)做監(jiān)控埋點(diǎn),一旦出現(xiàn)問(wèn)題,可方便排查與定位。
第四,服務(wù)熔斷限流。在應(yīng)用服務(wù)的提供方中,內(nèi)置熔斷限流組件。當(dāng)出現(xiàn)流量突增時(shí),可通過(guò)控制臺(tái)設(shè)置,快速進(jìn)行限流熔斷。
第五,生成Mock測(cè)試。在真實(shí)的測(cè)試環(huán)境中,由于鏈路較長(zhǎng)、參數(shù)復(fù)雜,難以構(gòu)造。當(dāng)出現(xiàn)問(wèn)題時(shí),難以調(diào)試排查。通過(guò)接入Radar微服務(wù)框架的客戶端,會(huì)自動(dòng)記錄HTTP請(qǐng)求的參數(shù)信息。當(dāng)出現(xiàn)問(wèn)題時(shí),可通過(guò)后臺(tái)對(duì)某個(gè)接口進(jìn)行重新調(diào)用,方便調(diào)試。
信也科技Radar除了能滿足生產(chǎn)環(huán)境所需的服務(wù)治理功能外,還能滿足測(cè)試工作對(duì)多環(huán)境的強(qiáng)烈需求。
傳統(tǒng)上,在多團(tuán)隊(duì)并行開發(fā)的時(shí)候,往往會(huì)出現(xiàn)爭(zhēng)用測(cè)試環(huán)境的現(xiàn)象。一般的解決方法是在成本范圍內(nèi)建設(shè)盡可能多的冗余的測(cè)試環(huán)境,但會(huì)面臨較明顯的資源浪費(fèi),代碼特性干擾,測(cè)試數(shù)據(jù)覆蓋等難題。通過(guò)信也科技Radar的注冊(cè)發(fā)現(xiàn)和流量管控功能,可以快速的虛擬出多個(gè)互相獨(dú)立的測(cè)試環(huán)境,用完后可以快速銷毀,從而消除測(cè)試環(huán)境少帶來(lái)的測(cè)試任務(wù)擁擠,測(cè)試代碼和數(shù)據(jù)互相干擾,和服務(wù)器浪費(fèi)的現(xiàn)象。
基于信也科技Radar的多環(huán)境原理,接入信也科技Radar的應(yīng)用會(huì)優(yōu)先調(diào)用同一環(huán)境。如當(dāng)前環(huán)境沒有部署實(shí)例,則會(huì)調(diào)用公共環(huán)境的Default實(shí)例,從而形成完整的環(huán)境調(diào)用。此種方式可保證用最少的應(yīng)用實(shí)例構(gòu)建完整的調(diào)用鏈路,理論上可創(chuàng)建無(wú)限多的子環(huán)境。目前基于Radar創(chuàng)建的測(cè)試環(huán)境中的應(yīng)用實(shí)例已經(jīng)大大超過(guò)生產(chǎn)環(huán)境的實(shí)例,極大方便了測(cè)試工作。
基于Radar的多環(huán)境原理
從2020年1月份MVP版本上線至今,Radar在信也科技已經(jīng)接入了500多個(gè)應(yīng)用,每天調(diào)用量達(dá)到千億次。信也科技Radar的落地效果也證明了該框架的價(jià)值:顯著提升了網(wǎng)絡(luò)性能,對(duì)比Nginx代理耗時(shí)平均降低了15%,最多可降低40%,網(wǎng)絡(luò)硬件設(shè)備負(fù)載降低了60%多;接入成本較低,應(yīng)用接入信也科技Radar微服務(wù)組件相較于接入Sofa Stack,平均耗時(shí)由5個(gè)工作日降低到1個(gè)工作日,效率提升80%;降低發(fā)布風(fēng)險(xiǎn),原生支持精細(xì)化流量管控,高效支持灰度測(cè)試,通過(guò)Radar灰度的應(yīng)用,放量穩(wěn)定性提升30%多。
信也科技基礎(chǔ)組件Radar團(tuán)隊(duì)將不斷完善Radar的功能和推廣規(guī)范化,包括增加擴(kuò)展點(diǎn),允許用戶自定義特定功能,支持調(diào)用失敗重試,推廣契約優(yōu)先的編程方式等。同時(shí),信也科技Radar將在不久的將來(lái)開源至社區(qū),助力行業(yè)提升微服務(wù)改造治理的能力。
敬畏科學(xué),潛心鉆研,這是信也科技不變的理念,未來(lái)充滿挑戰(zhàn)和機(jī)遇的環(huán)境中,信也科技希望能不斷提升自身的技術(shù)能力,促進(jìn)行業(yè)提高能效,攜手合作伙伴一同探索讓金融服務(wù)更美好的道路。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )