最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud Zuul路由規(guī)則動態(tài)更新解析

 更新時間:2019年11月15日 14:54:52   作者:技術(shù)與人生  
這篇文章主要介紹了Spring Cloud Zuul路由規(guī)則動態(tài)更新解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Spring Cloud Zuul路由規(guī)則動態(tài)更新解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

背景

Spring Cloud Zuul 作為微服務(wù)的網(wǎng)關(guān),請求經(jīng)過zuul路由到內(nèi)部的各個service,由于存在著新增/修改/刪除服務(wù)的路由規(guī)則的需求,zuul的路由規(guī)則的動態(tài)變更功能 提供了

無須重啟zuul網(wǎng)關(guān),即可實時更新,現(xiàn)有如下幾種方式:

一、基于refresh + config-server事件動態(tài)刷新

(1)spring boot 集成了spring actuator 提供的 refresh功能后,在congfig-server的git配置倉庫中新增一個zuul的路由規(guī)則,

(2)post方式刷新refresh端點http://127.0.0.1:8080/refresh(以本機為例)

(3) 再次訪問zuul發(fā)現(xiàn)路由規(guī)則中存在新增的規(guī)則

從觸發(fā)refresh操作開始 -> ZuulPropeties中route更新 整個流程如下:

Zuul網(wǎng)關(guān)的路由規(guī)則加載核心類 DiscoveryClientRouteLocator 和 SimpleRouteLocator,詳細(xì)可參考 Spring Cloud Zuul源碼。這里不做分析。

路由規(guī)則的加載機制主要是通過SimpleRouteLocator來加載ZuulPropetties中的路由規(guī)則。上圖說明了整個從refresh到屬性注入ZuulProperties的整個流程

缺點:

由于refresh后 首先加載的配置中心的全部zuul的最新K/V數(shù)據(jù),然后根據(jù)加載的屬性K/V注入規(guī)則到ZuulPropeties( Bean)中,而ZuulPropeties在refresh之前就存在Bean容器中,

所以新增或者修改Zuul路由規(guī)則,refresh后會新增或者覆蓋ZuulPropeties中的屬性值,而刪除操作ZuulPropeties中的路由規(guī)則依舊存在,所以刪除無效

優(yōu)點:

使用簡單,基于配置倉庫對路由規(guī)則進(jìn)行版本管理,只需向外暴露refresh端點即可。

二、基于RefreshScope的動態(tài)刷新

擴(kuò)展ZuulPropeties并使用RefreshScope注解,修改配置中心的路由規(guī)則后,觸發(fā)refresh操作路由規(guī)則即會發(fā)生變更,

代碼:

@Bean
 @ConfigurationProperties("zuul")
 @RefreshScope
 @Primary
 public ZuulProperties zuulProperties() {
  return new ZuulProperties();
 }

缺點:

需要自定義擴(kuò)展ZuulPropetties,加入RefreshScope注解

優(yōu)點:

由于RefreshScope使用cglib產(chǎn)生ZuulPropetties的代理,和一中Bean對象實現(xiàn)方式不同,所以針對路由規(guī)則刪除也可以生效

三、基于db存儲的動態(tài)刷新

Zuul網(wǎng)關(guān)的路由規(guī)則加載核心類 DiscoveryClientRouteLocator 和 SimpleRouteLocator,可

以擴(kuò)展SimpleRouteLocator重載其中的locateRoutes()方法,實現(xiàn)自定義從db中加載路由規(guī)則,觸發(fā)條件仍然是refresh

缺點:

擴(kuò)展復(fù)雜,需要定制化開發(fā),并重寫路由規(guī)則的加載邏輯。

優(yōu)點:

可以靈活控制路由規(guī)則變更,結(jié)合業(yè)務(wù)場景加入更多自定義功能

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA調(diào)用JavaScript方法代碼示例

    JAVA調(diào)用JavaScript方法代碼示例

    我們都知道腳本語言非常靈活,在處理某些問題的時候Java實現(xiàn)用十幾行來寫,用js可能不到十行就寫完,并且非常簡潔,這篇文章主要給大家介紹了關(guān)于JAVA調(diào)用JavaScript方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java日期格式化如何避免YYYY引發(fā)的時間異常

    Java日期格式化如何避免YYYY引發(fā)的時間異常

    在編程中,日期格式化是一個常見的任務(wù),使用不同的格式化選項可能會導(dǎo)致一些意外的結(jié)果,下面我們就來學(xué)習(xí)一下Java如何避免YYYY引發(fā)的時間異常吧
    2023-11-11
  • 詳解Spring 框架中切入點 pointcut 表達(dá)式的常用寫法

    詳解Spring 框架中切入點 pointcut 表達(dá)式的常用寫法

    這篇文章主要介紹了詳解Spring 框架中切入點 pointcut 表達(dá)式的常用寫法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程

    idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程

    這篇文章主要介紹了idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • java繼承的概念及案例解析

    java繼承的概念及案例解析

    這篇文章主要介紹了java繼承的概念及案例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • mybatis中查詢結(jié)果為空時不同返回類型對應(yīng)返回值問題

    mybatis中查詢結(jié)果為空時不同返回類型對應(yīng)返回值問題

    這篇文章主要介紹了mybatis中查詢結(jié)果為空時不同返回類型對應(yīng)返回值問題,本文分幾種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-10-10
  • SpringBoot+STOMP協(xié)議實現(xiàn)私聊、群聊

    SpringBoot+STOMP協(xié)議實現(xiàn)私聊、群聊

    本文將結(jié)合實例代碼,介紹SpringBoot+STOMP協(xié)議實現(xiàn)私聊、群聊,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 別在Java代碼里亂打日志了,這才是正確的打日志姿勢

    別在Java代碼里亂打日志了,這才是正確的打日志姿勢

    這篇文章主要介紹了別在Java代碼里亂打日志了,這才是正確的打日志姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Java設(shè)計模式之橋模式(Bridge模式)介紹

    Java設(shè)計模式之橋模式(Bridge模式)介紹

    這篇文章主要介紹了Java設(shè)計模式之橋模式(Bridge模式)介紹,本文講解了為什么使用橋模式、如何實現(xiàn)橋模式、Bridge模式在EJB中的應(yīng)用等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • SpringMVC中MultipartFile上傳獲取圖片的寬度和高度詳解

    SpringMVC中MultipartFile上傳獲取圖片的寬度和高度詳解

    本篇文章主要介紹了SpringMVC中MultipartFile上傳獲取圖片的寬度和高度,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論

通化县| 永清县| 枣强县| 阳西县| 盐亭县| 应用必备| 平江县| 岑溪市| 大名县| 肇东市| 安阳县| 玉田县| 屯门区| 德清县| 宿迁市| 巴彦县| 东乌珠穆沁旗| 郧西县| 新竹市| 临西县| 健康| 宜兰县| 若尔盖县| 简阳市| 宜春市| 绥化市| 修文县| 固镇县| 阆中市| 刚察县| 沛县| 绥江县| 西吉县| 白山市| 新郑市| 河北省| 乌兰浩特市| 元氏县| 巴林左旗| 德安县| 新兴县|