溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

簡單了解spring cloud 網(wǎng)關(guān)服務(wù)

發(fā)布時間:2020-09-11 09:27:44 來源:腳本之家 閱讀:167 作者:程序員你大爺 欄目:編程語言

微服務(wù) 網(wǎng)關(guān)服務(wù)

網(wǎng)關(guān)服務(wù)是微服務(wù)體系里面重要的一環(huán)。

微服務(wù)體系內(nèi),各個服務(wù)之間都會有通用的功能比如說:鑒權(quán)、安全、監(jiān)控、日志、服務(wù)調(diào)度轉(zhuǎn)發(fā)。這些都是可以單獨抽象出來做一個服務(wù)來處理。所以微服務(wù)網(wǎng)關(guān)應(yīng)運而生。其主要作用作為微服務(wù)體系里面流量的唯一入口去做一些功能的實現(xiàn)。

微服務(wù)的網(wǎng)關(guān)擔當?shù)闹饕氊熆梢苑譃閭z種

  • 主要業(yè)務(wù)功能抽取,鑒權(quán)、安全、服務(wù)調(diào)度、限流、熔斷等
  • 非主要的業(yè)務(wù)功能抽取,監(jiān)控、日志、緩存、黑白名單、埋點等

Spring Cloud 網(wǎng)關(guān)服務(wù)

現(xiàn)在市面主要流行的倆種

  • Netflix Zuul 1.0
    • 由Netflix開源的API網(wǎng)關(guān)項目,這個服務(wù)并不是Netflix 集成到spring 微服務(wù)體系內(nèi)。而是spring將zuul集成在spring-cloud中使用而已。目前spring不打算集成zuul2.x的集成。
  • Spring Cloud Gataway
    • spring-cloud-Gateway是spring旗下spring-cloud的一個子項目。還有一種說法是因為zuul2連續(xù)跳票和zuul1的性能表現(xiàn)不是很理想,所以催生了spring孵化Gateway項目。

前面介紹了倆種網(wǎng)關(guān)服務(wù)由來,接下來進行一下性能的對比我不打算在做壓力測試方向更多的介紹,博主沒有做壓力測試的條件。我講推薦一篇博文進行了壓測的詳細的對比傳送門

Spring Cloud Gateway

是基于WebFlux 開發(fā)的。WebFlux 模塊的名稱是 spring-webflux,名稱中的 Flux 來源于 Reactor 中的類 Flux。Spring webflux 有一個全新的非堵塞的函數(shù)式 Reactive Web 框架,可以用來構(gòu)建異步的、非堵塞的、事件驅(qū)動的服務(wù),在伸縮性方面表現(xiàn)非常好。使用非阻塞API。 Websockets得到支持,Spring集成

Netflix Zuul 1.0

底層是基于servlet,Zuul處理的是http請求Zuul的抽象寫的非常簡單易懂,易于擴展,易于debug。提供了兩種特殊的抽象類,用戶使用起來,比較靈活。沒有提供異步支持。流控等均由hystrix支持

備注

其實Netflix Zuul 1.0 調(diào)優(yōu)過后的性能指標并不見得比Spring Cloud Gateway 差基本上也符合理論上的數(shù)據(jù)。
只不過2.0之后。spring 沒有打算集成它。如果現(xiàn)有系統(tǒng)已經(jīng)使用的zuul 服務(wù)。不需要非得升級zuul 升級到Spring Cloud Gateway。如果公司項目。希望Websockets得到支持就可以考慮是否升級。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI