簡(jiǎn)單了解spring cloud 網(wǎng)關(guān)服務(wù)
微服務(wù) 網(wǎng)關(guān)服務(wù)
網(wǎng)關(guān)服務(wù)是微服務(wù)體系里面重要的一環(huán)。
微服務(wù)體系內(nèi),各個(gè)服務(wù)之間都會(huì)有通用的功能比如說:鑒權(quán)、安全、監(jiān)控、日志、服務(wù)調(diào)度轉(zhuǎn)發(fā)。這些都是可以單獨(dú)抽象出來做一個(gè)服務(wù)來處理。所以微服務(wù)網(wǎng)關(guān)應(yīng)運(yùn)而生。其主要作用作為微服務(wù)體系里面流量的唯一入口去做一些功能的實(shí)現(xiàn)。
微服務(wù)的網(wǎng)關(guān)擔(dān)當(dāng)?shù)闹饕氊?zé)可以分為倆種
- 主要業(yè)務(wù)功能抽取,鑒權(quán)、安全、服務(wù)調(diào)度、限流、熔斷等
- 非主要的業(yè)務(wù)功能抽取,監(jiān)控、日志、緩存、黑白名單、埋點(diǎn)等
Spring Cloud 網(wǎng)關(guān)服務(wù)
現(xiàn)在市面主要流行的倆種
- Netflix Zuul 1.0
- 由Netflix開源的API網(wǎng)關(guān)項(xiàng)目,這個(gè)服務(wù)并不是Netflix 集成到spring 微服務(wù)體系內(nèi)。而是spring將zuul集成在spring-cloud中使用而已。目前spring不打算集成zuul2.x的集成。
- Spring Cloud Gataway
- spring-cloud-Gateway是spring旗下spring-cloud的一個(gè)子項(xiàng)目。還有一種說法是因?yàn)閦uul2連續(xù)跳票和zuul1的性能表現(xiàn)不是很理想,所以催生了spring孵化Gateway項(xiàng)目。
前面介紹了倆種網(wǎng)關(guān)服務(wù)由來,接下來進(jìn)行一下性能的對(duì)比我不打算在做壓力測(cè)試方向更多的介紹,博主沒有做壓力測(cè)試的條件。我講推薦一篇博文進(jìn)行了壓測(cè)的詳細(xì)的對(duì)比傳送門
Spring Cloud Gateway
是基于WebFlux 開發(fā)的。WebFlux 模塊的名稱是 spring-webflux,名稱中的 Flux 來源于 Reactor 中的類 Flux。Spring webflux 有一個(gè)全新的非堵塞的函數(shù)式 Reactive Web 框架,可以用來構(gòu)建異步的、非堵塞的、事件驅(qū)動(dòng)的服務(wù),在伸縮性方面表現(xiàn)非常好。使用非阻塞API。 Websockets得到支持,Spring集成
Netflix Zuul 1.0
底層是基于servlet,Zuul處理的是http請(qǐng)求Zuul的抽象寫的非常簡(jiǎn)單易懂,易于擴(kuò)展,易于debug。提供了兩種特殊的抽象類,用戶使用起來,比較靈活。沒有提供異步支持。流控等均由hystrix支持
備注
其實(shí)Netflix Zuul 1.0 調(diào)優(yōu)過后的性能指標(biāo)并不見得比Spring Cloud Gateway 差基本上也符合理論上的數(shù)據(jù)。
只不過2.0之后。spring 沒有打算集成它。如果現(xiàn)有系統(tǒng)已經(jīng)使用的zuul 服務(wù)。不需要非得升級(jí)zuul 升級(jí)到Spring Cloud Gateway。如果公司項(xiàng)目。希望Websockets得到支持就可以考慮是否升級(jí)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Spring Cloud Gateway 服務(wù)網(wǎng)關(guān)快速實(shí)現(xiàn)解析
- Spring Cloud 服務(wù)網(wǎng)關(guān)Zuul的實(shí)現(xiàn)
- SpringCloud實(shí)戰(zhàn)之Zuul網(wǎng)關(guān)服務(wù)
- spring cloud 使用Zuul 實(shí)現(xiàn)API網(wǎng)關(guān)服務(wù)問題
- 詳解spring cloud構(gòu)建微服務(wù)架構(gòu)的網(wǎng)關(guān)(API GateWay)
- 詳解Spring Cloud Zuul 服務(wù)網(wǎng)關(guān)
- 淺談Spring Cloud中的API網(wǎng)關(guān)服務(wù)Zuul
相關(guān)文章
springboot與數(shù)據(jù)庫返回?cái)?shù)據(jù)中文亂碼
大家好,本篇文章主要講的是springboot與數(shù)據(jù)庫返回?cái)?shù)據(jù)中文亂碼,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01SpringBoot為何可以使用Jar包啟動(dòng)詳解
springboot jar包啟動(dòng)腳本,適用于快速啟動(dòng),刪除,重啟,以及查看狀態(tài),下面這篇文章主要給大家介紹了關(guān)于SpringBoot為何可以使用Jar包啟動(dòng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03java中map和對(duì)象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例
這篇文章主要介紹了java中map和對(duì)象互轉(zhuǎn)工具類的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Java數(shù)組使用binarySearch()方法查找指定元素的實(shí)現(xiàn)
這篇文章主要介紹了Java數(shù)組使用binarySearch()方法查找指定元素的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01