下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一種新型微服務(wù)網(wǎng)關(guān)架構(gòu)設(shè)計劉晉強(qiáng)摘要微服務(wù)架構(gòu)是當(dāng)前主流系統(tǒng)平臺的基礎(chǔ)架構(gòu),對企業(yè)軟件系統(tǒng)集成、開發(fā)、維護(hù)效率可 大幅提升,隨著spring cloud等架構(gòu)的興起,基于微服務(wù)網(wǎng)關(guān)的服務(wù)管理模式逐漸成為主 流,微服務(wù)網(wǎng)關(guān)也逐漸成為微服務(wù)系統(tǒng)架構(gòu)的核心。本文簡單介紹了主流微服務(wù)網(wǎng)關(guān)產(chǎn)品原 理,分析闡述了應(yīng)用現(xiàn)狀和技術(shù)特點,開發(fā)了簡單的原型系統(tǒng),提出了一種新型微服務(wù)網(wǎng)關(guān)架 構(gòu)方案。關(guān)鍵詞微服務(wù)架構(gòu)微服務(wù)網(wǎng)關(guān)網(wǎng)絡(luò)代理引言微服務(wù)網(wǎng)關(guān)是微服務(wù)系統(tǒng)架構(gòu)的重要組成,微服務(wù)系統(tǒng)架構(gòu)將業(yè)務(wù)實現(xiàn)模塊化、解耦為 多個相互獨立的微服務(wù)應(yīng)用,不同的微服務(wù)應(yīng)用采用不同的網(wǎng)絡(luò)接口,而外部客戶端請求事 務(wù),往往需要調(diào)用多個微
2、服務(wù)接口才能完成。微服務(wù)網(wǎng)關(guān)是介于客戶端和服務(wù)器端之間的中 間層,外部請求經(jīng)由微服務(wù)網(wǎng)關(guān)轉(zhuǎn)發(fā)。進(jìn)一步的,負(fù)責(zé)安全、性能、監(jiān)控,提高業(yè)務(wù)靈活性 同時確保安全性,并且簡化了大型系統(tǒng)平臺應(yīng)用開發(fā)。本文介紹了主流微服務(wù)網(wǎng)關(guān)產(chǎn)品原理, 分析了現(xiàn)狀和技術(shù)特點,提出了一種新型微服務(wù)網(wǎng)關(guān)架構(gòu)方案。微服務(wù)網(wǎng)關(guān)簡介當(dāng)前微服務(wù)網(wǎng)關(guān)產(chǎn)品主要有Nginx、ZUUL、Spring Cloud、Linkerd等。Nginx由內(nèi)核和模塊組成,內(nèi)核包括基礎(chǔ)插件和默認(rèn)配置,可以直接通過簡單配置直接 用作代理服務(wù)器,設(shè)計非常微小和簡潔,處理過程清晰、簡單,通過配置文件與客戶端請求 進(jìn)行URL匹配,進(jìn)而啟動不同的模塊去完成相應(yīng)的處理
3、。Nginx采用異步、非阻塞的方式 來處理請求,處理過程不需要阻塞等待,可以同時處理百萬級并發(fā)的客戶端請求Nginx憑 借基礎(chǔ)功能簡潔、穩(wěn)定、高性能、高可靠性,在近年來快速增長很快,同時為了滿足豐富功 能和滿足已知需求,衍生了 njs、lua、openresty、apisix等多種解決方案和技術(shù)。Zuul是一款主流的開源微服務(wù)網(wǎng)關(guān)組件,Zuul的核心是一系列的過濾器。主要實現(xiàn)的 功能包括身份認(rèn)證與安全、審查與監(jiān)控、動態(tài)路由、壓力測試、負(fù)載分配、靜態(tài)響應(yīng)處理、 多域彈性等。采用多線程阻塞的方式,這種方式在內(nèi)部延遲嚴(yán)重、并發(fā)請求過多情況下會引 起處理性能下降,Zuul2的采用異步、非阻塞框架,通過
4、事件和回調(diào)來處理的,解決了上述 問題。Spring Cloud微服務(wù)網(wǎng)關(guān)是面向Spring Cloud微服務(wù)框架,初期采用zuul擴(kuò)展,通 過組件的集成,提供了完備的通用基礎(chǔ)功能。主要針對快速分布式系統(tǒng)開發(fā)設(shè)計,具有強(qiáng)大 的應(yīng)用發(fā)現(xiàn)和管理能力,Spring Cloud是一種面向云環(huán)境的軟件架構(gòu)。Linkerd設(shè)計目標(biāo)在于簡化微服務(wù)架構(gòu)下的運維,處理時間敏感的服務(wù)到服務(wù)的通信, 能夠提供輕量級高性能網(wǎng)絡(luò)代理,提供微服務(wù)框架支撐。提供了負(fù)載均衡、熔斷機(jī)器、服務(wù) 發(fā)現(xiàn)、動態(tài)請求路由、重試和離線、TLS、HTTP網(wǎng)關(guān)集成、透明代理、gRPC、分布式跟蹤、 運維等諸多功能。新型微服務(wù)網(wǎng)關(guān)架構(gòu)基本原理為將
5、基于會話的請求/響應(yīng)服務(wù)轉(zhuǎn)變?yōu)橛嗛?發(fā)布的消息處理,除了執(zhí)行實際處 理的擴(kuò)展應(yīng)用,系統(tǒng)內(nèi)部統(tǒng)一采用訂閱/發(fā)布的消息模式交互,適合于大批量并發(fā)應(yīng)用場景, 采用統(tǒng)一的通信模式和協(xié)議,減免了異構(gòu)網(wǎng)絡(luò)及通信方式帶來的兼容性問題和重復(fù)開發(fā)。其 核心為MessageBus,也即消息總線,一般采用成熟的消息中間件產(chǎn)品,應(yīng)用集成框架組織和 關(guān)聯(lián)功能應(yīng)用,并能通過注入插件到MessageBus的方式監(jiān)控和管理消息。服務(wù)應(yīng)用,既可 以集成到內(nèi)部本地調(diào)用,也可以擴(kuò)展到外部系統(tǒng)。授投認(rèn)征i(寄事輕量設(shè)計、彈性擴(kuò)展主流微服務(wù)網(wǎng)關(guān)軟件基于成熟軟件發(fā)展而來,在初始階段設(shè)計精巧、功能單一、性能穩(wěn) 定,采用插件技術(shù)提供了優(yōu)越的
6、擴(kuò)展能力,提供更加全面的應(yīng)用支撐,但隨著功能的越來 越多,為了更快適應(yīng)市場變化滿足市場需求,大量引用第三方軟件,軟件變得也來越復(fù)雜。 并且通訊協(xié)議、通信數(shù)據(jù)處理方式等底層技術(shù)的更新升級開發(fā)和測試工作量也很大;因此, 對于主流微服務(wù)網(wǎng)關(guān)產(chǎn)品能夠長期穩(wěn)定發(fā)展,功能框架的確定性和功能實現(xiàn)的靈活性是很重 要的,而且由于大部分應(yīng)用項目一旦運營后,往往存在新舊版本過渡、共存等情況,微服務(wù) 網(wǎng)關(guān)技術(shù)的發(fā)展,有必要、也有能力對服務(wù)的動態(tài)切換和多版本并存提供支持。提升性能負(fù)載均衡技術(shù)、服務(wù)集群部署等對互聯(lián)網(wǎng)軟件平臺并發(fā)服務(wù)提供近乎完美的支撐,NIO 技術(shù)應(yīng)用是的微服務(wù)通信處理能力也大大增強(qiáng),機(jī)器性能提升技術(shù),如
7、硬件性能提升、虛擬 機(jī)、內(nèi)存優(yōu)化等技術(shù)也越來越強(qiáng)大。然而軟件邏輯性能的提升對現(xiàn)在及未來仍然很有意義; 減免重復(fù)處理、一致的接口協(xié)議、優(yōu)化的功能布局,可大幅降低重復(fù)的數(shù)據(jù)處理,對提高性 能也十分重要?;跇I(yè)務(wù)場景的支持環(huán)境隨著功能需求的增長,微服務(wù)網(wǎng)關(guān)需要整合的通用功能越來越多,而對于不同的業(yè)務(wù)場 景,簡單的應(yīng)用領(lǐng)域只需要少量的基礎(chǔ)功能,對于復(fù)雜的應(yīng)用領(lǐng)域,現(xiàn)有的微服務(wù)網(wǎng)關(guān)產(chǎn)品 又遠(yuǎn)遠(yuǎn)不能滿足需求,插件化的設(shè)計有極大的靈活性,同時也造成軟件邏輯復(fù)雜,配置管理 繁瑣。采用針對應(yīng)用領(lǐng)域的定制化配置,能大幅降低使用難度,同時也能使得軟件系統(tǒng)輕量、 穩(wěn)定。Nginx派系實際上仍在遵循這一原則,基礎(chǔ)的、可
8、靠的、高性能的基礎(chǔ)功能,配置簡 單、使用方便。同時也形成了多種多樣的功能集成產(chǎn)品,女Dopenresty、apisix等,然而這 些擴(kuò)展方案,均是在nginx內(nèi)部運行,功能擴(kuò)展的越來越多對運行的可靠性和性能有負(fù)面影 響,并且有些插件的變更,需要停機(jī)維護(hù)。基本的思路是,確保底層支持輕量、穩(wěn)定、可靠的情況下,允許針對行業(yè)領(lǐng)域應(yīng)用,定 制不同的應(yīng)用集成框架,支持插件管理、服務(wù)接口、管理控制臺等,對典型應(yīng)用場景業(yè)務(wù)提 供全面的定制化支持?;谙?事件的數(shù)據(jù)處理模式該微服務(wù)網(wǎng)關(guān)將請求/相應(yīng)模式的數(shù)據(jù)會話,轉(zhuǎn)化為事件/消息模式,異步處理數(shù)據(jù),不 再使用TCP/UDP/HTTP/HTTPS等基礎(chǔ)通信方式,
9、而是直接使用更加可靠、穩(wěn)定、高效的消息 中間件,如Redis、memcache、activeMQ等所提供的方式。這樣任何數(shù)據(jù)處理單元或集群, 均無需直接響應(yīng)消息,而是在處理完消息后,將結(jié)果包裝為新的消息,北向數(shù)據(jù)處理完全轉(zhuǎn) 變?yōu)槭录?消息模式,支持序列化處理大批量并發(fā)請求。5iibsCTit卜 Publish對于靜態(tài)資源的請求集群服務(wù)軟件剝離常規(guī)、通用功接口方式采用支持高并發(fā)、高性能的QUIC技術(shù)方案能,只需進(jìn)行業(yè)務(wù)數(shù)據(jù)處理,從而提高處理性能并且能提高開發(fā)效率。靜態(tài)資源的緩存處理 在客戶端仍然遵循HTTP1.1/HTTP2/HTTP3規(guī)定,而在微服務(wù)網(wǎng)關(guān)處理上采用服務(wù)端主動通知 的模式,也即資源變化后,服務(wù)端發(fā)送消息到微服務(wù)網(wǎng)關(guān),微服務(wù)網(wǎng)關(guān)在空閑時自動同步資 源,這樣大幅降低靜態(tài)資源的重復(fù)傳輸,并且在靜態(tài)資源更新后,能夠及時更新。這種策略 也可在HTTP1.1/HTTP2.0靜態(tài)資源傳輸上,避免靜態(tài)資源重復(fù)傳輸,并且保證客戶端靜態(tài)資 源最新,然而實現(xiàn)起來相對復(fù)雜。總結(jié)微服務(wù)網(wǎng)關(guān)是微服務(wù)系統(tǒng)平臺架構(gòu)的重要組成,將業(yè)務(wù)實現(xiàn)模塊化、解耦為多個相互獨 立的微服務(wù)應(yīng)用,該設(shè)計方案中,將請求/響應(yīng)模式的會話通信,轉(zhuǎn)化為事件/消息模式,直 接采用可靠、穩(wěn)定、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國飼料防霉劑行業(yè)市場發(fā)展趨勢及前景調(diào)研分析報告
- 2025-2030年中國風(fēng)能原動設(shè)備制造市場發(fā)展前景調(diào)研與投資策略分析報告
- 2025-2030年中國靜力水準(zhǔn)儀市場運行動態(tài)分析與營銷策略研究報告
- 2025-2030年中國鐵道用鋼材行業(yè)運行動態(tài)規(guī)劃研究報告
- 2025-2030年中國金礦采選產(chǎn)業(yè)運行動態(tài)與十三五規(guī)劃研究報告
- 2025-2030年中國造紙機(jī)械行業(yè)發(fā)展趨勢及前景調(diào)研分析報告
- 2025-2030年中國超細(xì)旦纖維產(chǎn)業(yè)市場運行狀況及前景趨勢分析報告
- 健身器材行業(yè)綠色環(huán)保與可持續(xù)發(fā)展戰(zhàn)略考核試卷
- 保險代理人的法律法規(guī)知識與案例分析考核試卷
- 2025年度海洋資源開發(fā)海域租賃合同
- 2025年工程合作協(xié)議書
- 2025年山東省東營市東營區(qū)融媒體中心招聘全媒體采編播專業(yè)技術(shù)人員10人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年宜賓人才限公司招聘高頻重點提升(共500題)附帶答案詳解
- KAT1-2023井下探放水技術(shù)規(guī)范
- 竣工驗收程序流程圖
- 清華經(jīng)管工商管理碩士研究生培養(yǎng)計劃
- 口腔科診斷證明書模板
- 管溝挖槽土方計算公式
- 國網(wǎng)浙江省電力公司住宅工程配電設(shè)計技術(shù)規(guī)定
- 煙花爆竹零售應(yīng)急預(yù)案
- RNA介導(dǎo)的DNA甲基化
評論
0/150
提交評論