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

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

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

前言

最近公司中臺(tái)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管理后臺(tái),而且底層使用spring webflux響應(yīng)式編程,基于zk的本地緩存設(shè)計(jì)支持分布式多實(shí)例部署,性能問(wèn)題就不無(wú)需多慮了

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

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

  • 限流 :為了保護(hù)后端服務(wù)的穩(wěn)定,不被惡意的流量洪峰壓垮,需要在網(wǎng)關(guān)層面根據(jù)實(shí)際接口業(yè)務(wù)需要控制請(qǐng)求流量大小
  • 熔斷降級(jí) :如果下游服務(wù)處理出問(wèn)題了,需要在網(wǎng)關(guān)層觸發(fā)服務(wù)熔斷策略,直接返回降級(jí)的接口內(nèi)容
  • 鑒權(quán) :對(duì)所有的請(qǐng)求進(jìn)行請(qǐng)求合法性,以及接口權(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)問(wèn)題時(shí),能夠進(jìn)行服務(wù)切換等基本的容錯(cuò)處理
  • web管理臺(tái) :需要有一個(gè)web管理后臺(tái),管理如上限流、白名單等的這些策略信息,最好策略可以實(shí)施生效

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

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

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

What is the Soul?

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

Features

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

架構(gòu)圖

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

架構(gòu)清晰

Soul網(wǎng)關(guān)開(kāi)源項(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ù)存儲(chǔ)中心以支持分布式部署,通過(guò)zk節(jié)點(diǎn)監(jiān)聽(tīng)機(jī)制,動(dòng)態(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è)白名單功能插件很簡(jiǎn)單,只需要實(shí)現(xiàn)一個(gè)接口或者抽象類(lèi)即可。基于規(guī)則選擇器的設(shè)計(jì)可以實(shí)現(xiàn)非常細(xì)粒度的路由控制,而且非常的靈活

基本功能全面

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

碼云GVP項(xiàng)目

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

結(jié)語(yǔ)       

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

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

相關(guān)文章

最新評(píng)論