更完善的微服務(wù)框架,信也科技推出Radar微服務(wù)框架

近日,信也科技正式對外推出Radar微服務(wù)框架,近年來,微服務(wù)框架在各業(yè)務(wù)場景中已大量落地。隨著業(yè)務(wù)的增長,之前的微服務(wù)的整體狀況在系統(tǒng)性能、運維效率與服務(wù)治理方面的弊端越來越顯著,信也科技需要一套更加完善的微服務(wù)框架。而此微服務(wù)組件如雷達般迅速,可有效提高架構(gòu)靈活性與服務(wù)可治理性。

信也科技在對內(nèi)部系統(tǒng)進行微服務(wù)改造的過程中,摸索出了一條獨具特色的道路。在進行服務(wù)治理的初期,微服務(wù)的整體狀況是Spring Boot應(yīng)用之間相互訪問,是通過域名進行遠程調(diào)用,中間基于Nginx轉(zhuǎn)發(fā)。隨著業(yè)務(wù)的增長,這種方式在系統(tǒng)性能、運維效率與服務(wù)治理方面的弊端越來越顯著,信也科技需要一套更加完善的微服務(wù)框架來適應(yīng)業(yè)務(wù)與技術(shù)的增長。

2019年,信也科技曾考慮過市場上其他的微服務(wù)方案。例如,曾嘗試使用SOFA改造信也科技的存量項目,但存在代碼改動大、故障多等問題,在接入數(shù)十個應(yīng)用后最終決定終止。此后,在調(diào)研了Service Mesh等業(yè)界微服務(wù)相關(guān)資料的情況下,經(jīng)過反復的方案對比與權(quán)衡,信也科技基礎(chǔ)組件的架構(gòu)師另辟蹊徑,自主研發(fā)了一款輕量級、0成本接入的微服務(wù)框架——Radar。

作為信也科技自主研發(fā)的微服務(wù)框架,Radar能兼容包括SOFA在內(nèi)的存量系統(tǒng),在無需修改代碼的情況下,提供注冊發(fā)現(xiàn)、熔斷限流、服務(wù)路由、拓撲關(guān)系可視化展示等高級服務(wù)治理功能;在現(xiàn)有應(yīng)用的改造過程中,對服務(wù)上下游的升級與接入順序沒有強制要求;同時為確保系統(tǒng)升級風險完全可控提供了完善的回退機制。

更完善的微服務(wù)框架,信也科技推出Radar微服務(wù)框架

Radar整體架構(gòu)示意圖

據(jù)了解,信也科技Radar是通過在消費方和提供方之間引入“攔截器”的方式來提供微服務(wù)的相關(guān)能力。具體實現(xiàn)步驟如下:

第一,服務(wù)提供方在啟動時,會將當前應(yīng)用的域名、IP和端口等信息向注冊中心注冊。注冊成功后,會定時向注冊中心發(fā)送心跳來?;?。

第二,當消費方在發(fā)起請求時,通過攔截消費方的請求,將域名替換成IP和端口,直接調(diào)用提供方。如果提供方未注冊到注冊中心,此時還是采用傳統(tǒng)的域名方式調(diào)用。

第三,當服務(wù)提供方收到請求時,攔截器會攔截入口請求,可做參數(shù)透傳等功能。

第四,當服務(wù)提供方信息發(fā)生變更時,注冊中心會將提供方的信息主動推送到消費方。

同樣使用攔截器,相比Service Mesh,信也科技Radar提供了進程內(nèi)的流量控制,避免性能損失。此外,信也科技Radar基于Java語言開發(fā),能保障技術(shù)棧的穩(wěn)定性與維護能力的可靠性。接入 Radar只需引入框架依賴,具有代碼改動小,風險低的優(yōu)勢。

信也科技Radar具體包含以下五項功能:

第一,定制路由規(guī)則。信也科技Radar提供了靈活多樣且基于Header和Request的路由定制,用戶可通過控制臺即可便捷地配置并實時下發(fā),無需應(yīng)用重啟。

第二,構(gòu)建拓撲關(guān)系。應(yīng)用在發(fā)起調(diào)用時,攔截器會將當前的域名信息向下游透傳,當下游收到此請求時,會將上下游關(guān)系記錄下來,形成拓撲關(guān)系,方便查看應(yīng)用之間的關(guān)系。

第三,透明監(jiān)控埋點。應(yīng)用發(fā)起調(diào)用時,攔截器會自動做監(jiān)控埋點,一旦出現(xiàn)問題,可方便排查與定位。

第四,服務(wù)熔斷限流。在應(yīng)用服務(wù)的提供方中,內(nèi)置熔斷限流組件。當出現(xiàn)流量突增時,可通過控制臺設(shè)置,快速進行限流熔斷。

第五,生成Mock測試。在真實的測試環(huán)境中,由于鏈路較長、參數(shù)復雜,難以構(gòu)造。當出現(xiàn)問題時,難以調(diào)試排查。通過接入Radar微服務(wù)框架的客戶端,會自動記錄HTTP請求的參數(shù)信息。當出現(xiàn)問題時,可通過后臺對某個接口進行重新調(diào)用,方便調(diào)試。

信也科技Radar除了能滿足生產(chǎn)環(huán)境所需的服務(wù)治理功能外,還能滿足測試工作對多環(huán)境的強烈需求。

傳統(tǒng)上,在多團隊并行開發(fā)的時候,往往會出現(xiàn)爭用測試環(huán)境的現(xiàn)象。一般的解決方法是在成本范圍內(nèi)建設(shè)盡可能多的冗余的測試環(huán)境,但會面臨較明顯的資源浪費,代碼特性干擾,測試數(shù)據(jù)覆蓋等難題。通過信也科技Radar的注冊發(fā)現(xiàn)和流量管控功能,可以快速的虛擬出多個互相獨立的測試環(huán)境,用完后可以快速銷毀,從而消除測試環(huán)境少帶來的測試任務(wù)擁擠,測試代碼和數(shù)據(jù)互相干擾,和服務(wù)器浪費的現(xiàn)象。

基于信也科技Radar的多環(huán)境原理,接入信也科技Radar的應(yīng)用會優(yōu)先調(diào)用同一環(huán)境。如當前環(huán)境沒有部署實例,則會調(diào)用公共環(huán)境的Default實例,從而形成完整的環(huán)境調(diào)用。此種方式可保證用最少的應(yīng)用實例構(gòu)建完整的調(diào)用鏈路,理論上可創(chuàng)建無限多的子環(huán)境。目前基于Radar創(chuàng)建的測試環(huán)境中的應(yīng)用實例已經(jīng)大大超過生產(chǎn)環(huán)境的實例,極大方便了測試工作。

更完善的微服務(wù)框架,信也科技推出Radar微服務(wù)框架

基于Radar的多環(huán)境原理

從2020年1月份MVP版本上線至今,Radar在信也科技已經(jīng)接入了500多個應(yīng)用,每天調(diào)用量達到千億次。信也科技Radar的落地效果也證明了該框架的價值:顯著提升了網(wǎng)絡(luò)性能,對比Nginx代理耗時平均降低了15%,最多可降低40%,網(wǎng)絡(luò)硬件設(shè)備負載降低了60%多;接入成本較低,應(yīng)用接入信也科技Radar微服務(wù)組件相較于接入Sofa Stack,平均耗時由5個工作日降低到1個工作日,效率提升80%;降低發(fā)布風險,原生支持精細化流量管控,高效支持灰度測試,通過Radar灰度的應(yīng)用,放量穩(wěn)定性提升30%多。

信也科技基礎(chǔ)組件Radar團隊將不斷完善Radar的功能和推廣規(guī)范化,包括增加擴展點,允許用戶自定義特定功能,支持調(diào)用失敗重試,推廣契約優(yōu)先的編程方式等。同時,信也科技Radar將在不久的將來開源至社區(qū),助力行業(yè)提升微服務(wù)改造治理的能力。

敬畏科學,潛心鉆研,這是信也科技不變的理念,未來充滿挑戰(zhàn)和機遇的環(huán)境中,信也科技希望能不斷提升自身的技術(shù)能力,促進行業(yè)提高能效,攜手合作伙伴一同探索讓金融服務(wù)更美好的道路。

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )