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

springboot+nacos+gateway實現(xiàn)灰度發(fā)布的實例詳解

 更新時間:2024年09月15日 11:26:29   作者:zbmzbm00  
灰度發(fā)布是一種在軟件部署過程中用于平滑過渡的技術(shù),通過引入灰度發(fā)布SDK和配置網(wǎng)關(guān)策略實現(xiàn),本文就來介紹一下,感興趣的可以了解一下

概要

如何在微服務實現(xiàn)灰度發(fā)布呢?

  • 灰度發(fā)布(又名金絲雀發(fā)布)是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式。在其上可以進行A/B testing,即讓一部分用戶繼續(xù)用產(chǎn)品特性A,一部分用戶開始用產(chǎn)品特性B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面來。

有什么功能

首先我是自定義了一個灰度發(fā)布的sdk,引入該包可以實現(xiàn),指定服務灰度發(fā)布,并指定灰度權(quán)重

指定權(quán)重后,網(wǎng)關(guān)調(diào)用時會根據(jù)權(quán)重打到灰度服務,當然調(diào)用的時候需要指定灰度版本

技術(shù)細節(jié)

1.在網(wǎng)關(guān)中引入灰度發(fā)布包

 <dependency>
      <groupId>com.zbm.gray</groupId>
      <artifactId>springboot-gray-starter</artifactId>
      <version>1.0.0-SNAPSHOT</version>
</dependency>

2.網(wǎng)關(guān)配置灰度策略

gray:
  loadbalancer:
    enabled: true
    weight: 20    //灰度權(quán)重20%

3.灰度服務A

gray:
  loadbalancer:
    enabled: true
    version: 2 //灰度版本號

4.網(wǎng)關(guān)接口調(diào)用

 @Autowired
    @Qualifier("newRestTemplate")
    private RestTemplate restTemplate;
    @GetMapping("/testGray")
    public String testGray(){
        MultiValueMap<String, String> headers=new HttpHeaders();
        headers.add("version","2");
        HttpEntity<?> requestEntity = new HttpEntity<>(headers);
        ResponseEntity<String> exchange = restTemplate.exchange("http://test-gray/api/v1/test", HttpMethod.GET, requestEntity, String.class);
        return exchange.getBody();
    }

說明:如果調(diào)用過程中不傳遞version,那么不會調(diào)用到灰度服務上

5.原理說明

首先我們需要在灰度服務引入灰度sdk,然后發(fā)布,我們正常服務不需要引入,在網(wǎng)關(guān)引入并配置灰度策略,那么會根據(jù)負載均衡策略和我們配置的權(quán)重選擇服務。

小結(jié)

具體示例代碼可見github:https://github.com/zbmzbm/gray-project

到此這篇關(guān)于springboot+nacos+gateway實現(xiàn)灰度發(fā)布的實例詳解的文章就介紹到這了,更多相關(guān)springboot 灰度發(fā)布內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)上傳和下載功能(支持多個文件同時上傳)

    Java實現(xiàn)上傳和下載功能(支持多個文件同時上傳)

    這篇文章主要介紹了Java實現(xiàn)上傳和下載功能,支持多個文件同時上傳,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • JAVA面向?qū)ο?封裝原理及實例解析

    JAVA面向?qū)ο?封裝原理及實例解析

    這篇文章主要介紹了JAVA面向?qū)ο?封裝原理及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • mybatis如何批量添加一對多中間表

    mybatis如何批量添加一對多中間表

    這篇文章主要介紹了mybatis如何批量添加一對多中間表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • JAVA反射機制實例教程

    JAVA反射機制實例教程

    這篇文章主要介紹了JAVA反射機制,包括了Java反射機制的各種應用技巧,非常具有實用價值,需要的朋友可以參考下
    2014-09-09
  • 淺談Java之Map 按值排序 (Map sort by value)

    淺談Java之Map 按值排序 (Map sort by value)

    下面小編就為大家?guī)硪黄獪\談Java之Map 按值排序 (Map sort by value)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • MyBatis實現(xiàn)高級映射的示例代碼

    MyBatis實現(xiàn)高級映射的示例代碼

    高級映射主要還是映射,只是映射中的數(shù)據(jù)關(guān)系復雜了,其中就包括一對一、一對多、多對多的關(guān)系,本文主要介紹了MyBatis實現(xiàn)高級映射的示例代碼,感興趣的可以了解一下
    2024-06-06
  • 深入理解Java中的弱引用

    深入理解Java中的弱引用

    這篇文章主要介紹了深入理解Java中的弱引用,本文講解了強引用、弱引用、引用隊列、四種引用、軟引用、虛引用等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Mybatis結(jié)果集映射與生命周期詳細介紹

    Mybatis結(jié)果集映射與生命周期詳細介紹

    結(jié)果集映射指的是將數(shù)據(jù)表中的字段與實體類中的屬性關(guān)聯(lián)起來,這樣 MyBatis 就可以根據(jù)查詢到的數(shù)據(jù)來填充實體對象的屬性,幫助我們完成賦值操作
    2022-10-10
  • Maven項目更換本地倉庫過程圖解

    Maven項目更換本地倉庫過程圖解

    這篇文章主要介紹了Maven項目更換本地倉庫過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 在maven中引入本地jar包的步驟

    在maven中引入本地jar包的步驟

    這篇文章主要介紹了在maven中引入本地jar包的步驟,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-04-04

最新評論

固阳县| 易门县| 洞头县| 类乌齐县| 上犹县| 阿拉善左旗| 张家口市| 浠水县| 信阳市| 久治县| 固镇县| 浠水县| 虹口区| 翼城县| 图木舒克市| 页游| 宜兴市| 宣威市| 桑日县| 来凤县| 巨野县| 民丰县| 昌邑市| 铁岭县| 扶沟县| 北辰区| 博兴县| 吐鲁番市| 昌平区| 西充县| 抚远县| 弋阳县| 维西| 遂昌县| 黔江区| 河北省| 东台市| 昌邑市| 孟州市| 阳谷县| 德州市|