欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Soul Api網(wǎng)關(guān)功能需求技術(shù)選型分析

KlBlog   發(fā)布時(shí)間:2022-02-25 15:41:12   作者:kl   我要評論
這篇文章主要介紹了Soul Api網(wǎng)關(guān)功能需求技術(shù)選型分析,最近公司中臺api有用到網(wǎng)關(guān)的需求,特整理了下網(wǎng)關(guān)的基本功能以及Soul網(wǎng)關(guān)系統(tǒng)的功能架構(gòu)設(shè)計(jì),記錄于此,有需要的朋友可以借鑒參考下

前言

最近公司中臺api有用到網(wǎng)關(guān)的需求,特整理了下網(wǎng)關(guān)的基本功能以及Soul網(wǎng)關(guān)系統(tǒng)的功能架構(gòu)設(shè)計(jì),記錄于此。最終選擇了Soul網(wǎng)關(guān)系統(tǒng)還是因?yàn)槠浼軜?gòu)設(shè)計(jì)清晰,基于spring boot而且提供了Admin管理后臺,而且底層使用spring webflux響應(yīng)式編程,基于zk的本地緩存設(shè)計(jì)支持分布式多實(shí)例部署,性能問題就不無需多慮了

網(wǎng)關(guān)有哪些功能需求?

網(wǎng)關(guān)需求

  • 限流 :為了保護(hù)后端服務(wù)的穩(wěn)定,不被惡意的流量洪峰壓垮,需要在網(wǎng)關(guān)層面根據(jù)實(shí)際接口業(yè)務(wù)需要控制請求流量大小
  • 熔斷降級 :如果下游服務(wù)處理出問題了,需要在網(wǎng)關(guān)層觸發(fā)服務(wù)熔斷策略,直接返回降級的接口內(nèi)容
  • 鑒權(quán) :對所有的請求進(jìn)行請求合法性,以及接口權(quán)限進(jìn)行鑒定
  • 白名單 :只有加入白名單的ip才能放行
  • 接口負(fù)載 :當(dāng)后端服務(wù)有多個(gè)實(shí)例時(shí),網(wǎng)關(guān)能夠根據(jù)具體的負(fù)載規(guī)則策略進(jìn)行負(fù)載,并且在服務(wù)出現(xiàn)問題時(shí),能夠進(jìn)行服務(wù)切換等基本的容錯(cuò)處理
  • web管理臺 :需要有一個(gè)web管理后臺,管理如上限流、白名單等的這些策略信息,最好策略可以實(shí)施生效

業(yè)務(wù)需求

  • 資源管理 :對接凱京內(nèi)部所有的提供web api的系統(tǒng),管理每個(gè)應(yīng)用的接口url信息
  • 接口調(diào)用審計(jì)(待定):針對特別的有價(jià)值的接口,需要做接口調(diào)用審計(jì),統(tǒng)計(jì)每次的調(diào)用

關(guān)于Soul網(wǎng)關(guān)

What is the Soul?

這是一個(gè)異步的,高性能的,跨語言的,響應(yīng)式的API網(wǎng)關(guān)。參考了Kong,Spring-Cloud-Gateway等優(yōu)秀的網(wǎng)關(guān)后,站在巨人的肩膀上,Soul由此誕生!

Features

  • 支持各種語言,無縫集成Dubbo,SpringCloud。
  • 豐富的插件支持,鑒權(quán),限流,熔斷,防火墻等等。
  • 網(wǎng)關(guān)多種規(guī)則動態(tài)配置,支持各種策略配置。
  • 插件熱插拔,易擴(kuò)展。
  • 支持集群部署,支持A/B Test。

架構(gòu)圖

選擇Soul網(wǎng)關(guān)

架構(gòu)清晰

Soul網(wǎng)關(guān)開源項(xiàng)目架構(gòu)清晰,參考借鑒了Kong,Spring-Cloud-Gateway等優(yōu)秀的網(wǎng)關(guān)設(shè)計(jì),基礎(chǔ)架構(gòu)框架使用spring boot構(gòu)建。在技術(shù)架構(gòu)上采用了zookeeper+mysql作為元數(shù)據(jù)存儲中心以支持分布式部署,通過zk節(jié)點(diǎn)監(jiān)聽機(jī)制,動態(tài)的維護(hù)了本地緩存信息,用以提高網(wǎng)關(guān)系統(tǒng)的并發(fā)度。在功能架構(gòu)上分為Admin管理模塊和Server服務(wù)提供模塊,功能職責(zé)分離。

插件化&規(guī)則選擇器設(shè)計(jì)

Soul提供了完整的插件化功能,目前在自帶的插件列表中已經(jīng)包含了WAF、簽名、限流等常用的插件,而且像上面提到的白名單功能,實(shí)現(xiàn)一個(gè)白名單功能插件很簡單,只需要實(shí)現(xiàn)一個(gè)接口或者抽象類即可?;谝?guī)則選擇器的設(shè)計(jì)可以實(shí)現(xiàn)非常細(xì)粒度的路由控制,而且非常的靈活

基本功能全面

Soul除了基本的網(wǎng)關(guān)鑒權(quán)路由功能外,還提供了包括限流,URL重寫,dubbo路由,spring Cloud路由,請求監(jiān)控等功能,最重要的是還提供了一個(gè)前后端分離架構(gòu)的Admin管理后臺應(yīng)用,用來管理基礎(chǔ)的元數(shù)據(jù)信息。

碼云GVP項(xiàng)目

Soul項(xiàng)目已經(jīng)是碼云GVP俱樂部項(xiàng)目,同時(shí),作者對分布式事務(wù)也很有研究,不僅參與了TX-LCN的建設(shè),而且自己還開源了多個(gè)分布式事務(wù)框架均已加入了GVP俱樂部。作者一直活躍在各大熱門開源項(xiàng)目社區(qū),我們曾就TX-LCN和Klock有過交流,作者是個(gè)技術(shù)非常牛逼的人, Soul值得一試。

結(jié)語       

綜上:最重要的一點(diǎn)是Soul基于spring boot構(gòu)建,架構(gòu)清晰,插件&規(guī)則選擇器等設(shè)計(jì),非常方便進(jìn)行業(yè)務(wù)集成和二次開發(fā)。目前Soul網(wǎng)關(guān)在生產(chǎn)上使用的人還不多,體驗(yàn)使用下來小問題還是有一些的,不過這都不重要。選擇一個(gè)開源的項(xiàng)目自主可控是最關(guān)鍵的一點(diǎn),出現(xiàn)任何問題都能hold住就行了。

以上就是Soul Api網(wǎng)關(guān)功能需求技術(shù)選型分析的詳細(xì)內(nèi)容,更多關(guān)于Soul Api網(wǎng)關(guān)技術(shù)選型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論