精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

遷移 Eureka 到 Nacos 之雙注冊雙訂閱模式

開發 前端
Eureka 1.x 的架構有些地方可以改進,比如 在客戶端的 pull 模式下,增加這個消息推送模式,增加實時性;還有 集群,Eureka 只支持 AP ,各個客戶端都能進行寫請求 , 沒有主從節點之分,各個節點之間通過相互復制來同步數據,無法保證一致性。Nacos 則有 AP 和 CP 兩種選擇,更靈活。

這里面涉及到這個 雙注冊雙訂閱模式 ,下面讓我們一起看看吧!

內容概覽

首先,為啥要遷移呢?

主要是它對比其他注冊中心,已經落后太多了。

  • 就拿 Nacos 來說吧,不僅有 配置中心,管理界面,還能手動上下線,而且支持服務列表變更的消息推送模式(實時性高)。
  • Eureka 1.x 的架構有些地方可以改進,比如 在客戶端的 pull 模式下,增加這個消息推送模式,增加實時性;還有 集群,Eureka 只支持 AP ,各個客戶端都能進行寫請求 , 沒有主從節點之分,各個節點之間通過相互復制來同步數據,無法保證一致性。Nacos 則有 AP 和 CP 兩種選擇,更靈活。
  • 2019年的某個會上,Spring 團隊提出如何解決 Netflix 進入維護模式后的 SpringCLoud 組件選擇問題。
  • 就是 Eureka 早已進入維護模式啦!而且 long long ago ,官方就放棄了這個 Eureka2.X 版本的開發(看了下分支,6,7年前的代碼了),而且官方還說了不能用在生產上,后果自負(咱也不知道它有啥新特點,反正 SpringCloud 一直用的 1.x 版本。現在更新到1.10 了)。

官方Wiki

Eureka 最新版本

簡單了解了這個背景后,咱們再來看看 4ye 搭建的這個 demo 。

Eureka 注冊中心

比如 老項目中,使用的注冊中心是 Eureka 。架構如下:

代碼也很簡單,有三個模塊。分別是

  • 注冊中心 :搭建時選擇 Eureka Server 即可。
  • 服務提供者(provider):搭建時選擇 Eureka Discovery Client 和 Spring Web 即可。
  • 服務消費者(consumer):搭建時選擇 Eureka Discovery Client 和 Spring Web 即可。

然后依次啟動注冊中心,provider,consumer 即可。

訪問 http://localhost:8772/hello/Java4ye 可以看到下面的內容。

雙注冊雙訂閱模式

接著,我們克隆上面的 provider 和 consumer 模塊。

在 pom 文件中直接加入 Nacos 和 Eureka 。

啟動時會拋出下面的異常信息 。(引入 Actuator 時會出現另一個,同樣排除掉即可)

Description:

Field autoServiceRegistration in org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration required a single bean, but 2 were found:
- nacosAutoServiceRegistration: defined by method 'nacosAutoServiceRegistration' in class path resource [com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.class]
- eurekaAutoServiceRegistration: defined by method 'eurekaAutoServiceRegistration' in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.class]

可以看到是自動裝配時,不知道用哪個導致的異常。但是我們兩個都要。

這里只要在 application.properties 中把這個自動裝配移除掉即可。

# 雙注冊模式下關閉
spring.autoconfigure.exclude=org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration,org.springframework.cloud.client.serviceregistry.ServiceRegistryAutoConfiguration

當然,秉著嚴謹的態度,我們在這兩個類中打入相應的斷點,可以看到他們都被創建了。

同時,也成功注冊到這兩個注冊中心去了。

Eureka

Nacos

這個時候,再次訪問舊的客戶端 8772 端口的,可以發現如下效果。

但是要注意,此時項目的架構變成這樣,consumer 中只有 Eureka 的客戶端,所以調用到的都是 Eureka 中心中的服務。此時流量不會走到 Nacos 這邊

接著便是看客戶端 consumer 正不正常,比如跑個一天看看。

穩定后,下一步就是 下線這個 provider ,然后看看正不正常了。同樣穩定后,便是準備啟動這個 雙訂閱的客戶端了。

小實驗

但是我這里做了一個小實驗 哈哈 想看看不下線的情況,我這個 新客戶端 上線后是使用哪個注冊中心的服務多點。

所以,接著,我們就啟動這個新的 consumer,一個雙訂閱的客戶端。

同樣修改下配置文件即可。

spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
# Nacos 服務發現與注冊配置,其中子屬性 server-addr 指定 Nacos 服務器主機和端口
spring.cloud.nacos.discovery.server-addr=192.168.175.128:8848
# 注冊到 nacos 的指定 namespace,默認為 public
spring.cloud.nacos.discovery.namespace=public

# 雙注冊模式下關閉
spring.autoconfigure.exclude=org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration,org.springframework.cloud.client.serviceregistry.ServiceRegistryAutoConfiguration

這個時候,我們訪問新的客戶端。8872 端口的:http://localhost:8872/hello/Java4ye

發現無論怎么刷新,接口的返回值都是下面這個,無法達到負載均衡的效果 。(⊙o⊙)?

簡單翻看了下源碼,可以發現系統創建了三個 discoveryClient ,最后一個是兜底用的。

而且 nacos 排在第一個,這意味著從 nacos 的注冊中心中找到服務的話,就不會調用到 Eureka 中的了。

了解了這個原理后,將 nacos 中的服務進行下線。

然后去刷新新的客戶端,8872 端口的,可以發現,又出現了負載均衡的效果了。

而且得益于 Nacos 的服務列表變更推送機制,我們客戶端可以實時感知到 服務列表的 變化,這個時候直接去刷新新客戶端的接口,可以發現它已經切換到 Eureka 中了,沒有延遲感!

所以當我們在遷移的過程中,如果發現 Nacso 上新的 provider 有什么異常時,可以將其下線先?? 輕輕一點真的太方便了。

優雅下線

結束上面的小實驗,回到正常流程中,我們要來下線這個 provider 了。

階段目標

這里就得考慮這個 優雅下線 的問題了。

網上的方案很多,這里用 Springboot 的 actuator 來實現。

這個 graceful 配置是 Springboot2.3 之后才有的,會讓內嵌服務器拒絕外部請求,然后處理完已經在內部的請求后,進入關閉狀態。

通過這個暴露的 api,去修改 eureka 中 service 的狀態。

# 優雅下線
server.shutdown=graceful
# 關閉超時
spring.lifecycle.timeout-per-shutdown-phase=20s

#
management.endpoints.web.exposure.include= service-registry

這里直接訪問 curl "localhost:8771/actuator" 來獲取我們注冊的這個 API (可以看到我們 - 符號被吃掉了 坑??)

接著,我們通過這串請求,改變 Eureka 中服務的狀態:DOWN。

curl -X "POST" "http://localhost:8771/actuator/serviceregistry?status=down" -H "Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8"

然后,在等待若干時間后,應該是客戶端 consumer 重新去拉取服務列表信息后。(哈哈 我沒數)。

不過我配了 10s ,然后我們不斷刷新請求,會發現這個負載均衡的效果已經消失了。只剩新的 provider 提供的服務了。

然后在服務穩定一段時間后,可以通過 Prometheus 來觀察這個舊的 provider 的 qps 等,當它已經沒有啥流量進入了,便可以直接關閉下線了。( kill -9)

上線雙訂閱客戶端

接著,上線這個 新的 consumer ,這里也沒啥特別的了。

同樣等系統穩定后,下線這個舊的客戶端 consumer 了。

而且從上面小實驗環節中,我們可以知道流量會先來到這個 Nacos 中,確認里面沒有這個服務的話,才去這個 Eureka 中查找。所以到這里,這個 Eureka 中的流量就會少了大部分了。

再次上線

到了這里,我們還不能直接關閉這個 Eureka,還得再次上線新版本的只有 Nacos 注冊中心的 provider 和 consumer 。

這次的新版要注意這個負載均衡,我們去掉了 Netflix 后,得手動引入 SpringCloud 的 loadbalancer 組件。其他也就刪刪配置了。

同樣的,穩定后,才去下線雙訂閱客戶端 consumer,再下線雙注冊服務端 Provider,最后才下線這個 Eureka。 

這里通過 Nginx 等去控制流量,將他們打到新的只訂閱 Nacos 的 consumer 上,最后等雙訂閱的 consumer 客戶端沒啥流量就給它下線了。

接著,在 Nacos 上 ,下線那個雙注冊的服務,然后再去下線它。

最后就直接關閉 Eureka 了。

這樣就完成了這個注冊中心的遷移了。

整體流程

這里其實就是上線新版本后,等其穩定,下線舊版本的一個規則。

看著挺繁瑣的

關于應用的發布,這里就不多贅述了,網上大把的 藍綠發布,灰度發布,還有 K8s 的 pod 容器,docker 等環境下的決策。

最后

https://github.com/Java4ye/springcloud-alibaba-demo-4ye

整個demo 我也弄到 GitHub 上啦,新開的坑, 哈哈,后面也會逐步完善的。

覺得不錯的話,可以 Star 支持一波哦!

總結

通過本案例,可以快速了解到這個遷移過程中:

  • 這個代碼基本都沒改!這得益于這個 SpringCloud 的統一服務注冊和發現的編程模型。
  • 使用雙注冊雙訂閱模型時,要排除掉自動裝配的坑,而且在這個模式下,流量基本都跑到 Nacos 這邊。
  • 對比下兩個注冊中心,更能感覺到 Nacos 這么多便利的功能:上下線和服務列表變化的推送機制。
  • 了解到 Springboot 在優雅下線這一塊做的變化,謹記不要輕易 kill -9!
責任編輯:武曉燕 來源: Java4ye
相關推薦

2020-06-29 07:58:18

ZooKeeperConsul 注冊中心

2021-08-04 11:54:25

Nacos注冊中心設計

2021-08-12 06:52:01

Nacos服務機制

2023-04-28 07:52:14

CAPEureka注冊中心

2021-07-15 06:43:12

Python數據結構

2013-11-12 16:38:22

2022-05-14 22:27:40

Nacos訂閱機制定時器

2017-07-03 08:29:42

Spring Clou服務詳解

2009-11-05 10:07:37

WCF設計模式

2011-04-01 16:24:31

策略路由路由器

2022-05-19 07:39:43

Nacos訂閱機制線程類

2011-04-01 16:28:59

策略路由

2009-11-04 09:34:28

互聯網接入

2010-08-06 13:37:18

思科路由器雙地址雙出口

2012-06-26 11:23:40

Chrome瀏覽器

2012-02-16 13:24:21

雙棧IPv4IPv6

2021-05-28 06:19:22

ZooKeeperConsulNacos

2020-11-27 10:33:06

5G4G網絡

2016-12-06 15:35:25

2009-08-12 17:43:54

雙括弧Java語法技巧
點贊
收藏

51CTO技術棧公眾號

性插视频在线观看| 久久久精品国产sm调教网站| 黄页免费欧美| 夜夜嗨av一区二区三区四季av| 国产精品一区视频| 国产日韩在线免费观看| 欧美午夜一区| 国产一区二区三区中文 | 久久成人精品无人区| 欧美激情视频网| 午夜精产品一区二区在线观看的| 精品一区二区三区四区五区 | 日韩欧美国产片| av免费不卡| 中文字幕一区二区三区在线播放| 国模精品娜娜一二三区| 国产精品伦一区二区三区| 在线综合视频| 久久久久久久一区二区| 2017亚洲天堂| 深爱激情综合| 日韩av在线天堂网| 中文字幕久久久久久久| 欧美一级免费| 欧美亚洲高清一区| 中国丰满人妻videoshd | 亚洲国产精品第一页| 日韩美女在线| 91成人免费电影| 国产伦精品一区二区三区四区视频_| 毛片在线视频| 国产精品丝袜黑色高跟| 开心色怡人综合网站| xxxwww在线观看| 精品无人码麻豆乱码1区2区| 国产精品白嫩美女在线观看| 天堂中文在线网| 1000部精品久久久久久久久| 欧美成人四级hd版| 内射一区二区三区| 亚洲精品国产成人影院| 日韩在线视频观看| 中文天堂资源在线| 欧美日韩性在线观看| 亚洲日韩中文字幕| 日本成人免费视频| 欧洲激情综合| 中文字幕日韩av| 大胸美女被爆操| 人人狠狠综合久久亚洲婷婷 | 欧美色图天堂| 亚洲综合丝袜美腿| 国产美女作爱全过程免费视频| huan性巨大欧美| 亚洲欧美日韩在线不卡| 热这里只有精品| 99热国产在线| 一区二区久久久久| 黄色片网址在线观看| 超碰在线99| 日韩欧美国产黄色| 日本熟妇人妻中出| 青青在线精品| 日韩精品资源二区在线| 88av在线播放| 亚洲系列另类av| 在线播放精品一区二区三区| 老司机精品免费视频| 欧美伊人影院| 国模极品一区二区三区| 欧美在线观看不卡| 蜜臀av在线播放一区二区三区| 国产欧美韩国高清| 国产黄色片网站| 久久亚洲综合色一区二区三区| 日本一区二区三区免费看| av网站无病毒在线| 夜夜夜精品看看| 欧美牲交a欧美牲交aⅴ免费真 | 午夜亚洲福利在线老司机| 国产黑人绿帽在线第一区| 一级黄色片在线看| 不卡视频一二三| 日韩aⅴ视频一区二区三区| 免费观看在线黄色网| 亚洲国产一二三| 欧美v在线观看| 色综合一区二区日本韩国亚洲| 日韩欧美在线观看一区二区三区| 屁屁影院国产第一页| 成人av动漫在线观看| 久久久久久久久91| 伊人成年综合网| 成人一区二区三区| 亚洲精美视频| 欧美13videosex性极品| 91麻豆精品国产91久久久使用方法| 大尺度在线观看| 成人同人动漫免费观看 | 日本一区二区三区免费视频| 日韩不卡一二三区| 国产高清精品一区二区三区| 国产高清视频在线观看| 亚洲网友自拍偷拍| 免费一区二区三区在线观看| 日韩一级电影| 欧美国产日本在线| 91高潮大合集爽到抽搐| 久久综合丝袜日本网| 特级西西444| 九色成人搞黄网站| 日韩精品免费在线| 久久亚洲国产成人精品性色| 黄色资源网久久资源365| 玛丽玛丽电影原版免费观看1977| 中文字幕在线播放网址| 欧美视频中文字幕| 亚洲午夜久久久久久久久红桃| 最新国产精品| 国产欧美中文字幕| 国产剧情在线观看| 精品人伦一区二区三区蜜桃网站| 毛毛毛毛毛毛毛片123| 色呦哟—国产精品| 国产成人av在线| 天堂中文在线视频| 调教+趴+乳夹+国产+精品| 中文字幕第三区| 香蕉国产精品| 成人亲热视频网站| 在线视频婷婷| 色悠悠久久综合| 中文字幕日韩三级片| 国产亚洲网站| 久久99导航| 日本黄色免费在线| 日韩成人中文电影| 亚洲视频免费播放| 成人福利视频在线看| 17c丨国产丨精品视频| 亚洲视频精选| 欧美国产第二页| 黑人精品一区二区| 亚洲国产精品久久人人爱| 曰本三级日本三级日本三级| 欧美在线91| a级国产乱理论片在线观看99| a天堂中文在线官网在线| 欧美日韩成人一区| 日本免费网站视频| 精品影视av免费| 亚洲av首页在线| 欧美中文高清| 午夜精品久久久久久久99热浪潮| 午夜视频www| 一本色道**综合亚洲精品蜜桃冫| a天堂中文字幕| 久久精品二区亚洲w码| 一道本在线观看视频| 视频一区中文字幕精品| 久久久久久久一区二区三区| 视频一区二区三区国产| 色婷婷狠狠综合| 特黄一区二区三区| 国产盗摄女厕一区二区三区 | 麻豆91在线观看| 不卡中文字幕在线| 136导航精品福利| 欧美一级在线亚洲天堂| 国产高清在线看| 日韩一级大片在线| 中文字幕亚洲高清| 中文字幕免费在线观看视频一区| 国产高清av片| 亚洲精品麻豆| 亚洲资源视频| 大陆精大陆国产国语精品| 日韩美女免费观看| 成人影院在线看| 亚洲国产成人精品女人久久久 | 一二三四视频在线中文| 最好看的2019年中文视频| 亚洲狼人综合网| 欧美艳星brazzers| 精品99久久久久成人网站免费 | 成人软件在线观看| 久久亚洲私人国产精品va| 午夜国产在线视频| 91精品国产丝袜白色高跟鞋| 国产污污视频在线观看| 国产精品久久久久久久午夜片 | 在线观看av网页| 91久久在线| 亚洲一区二区精品在线观看| 欧美a一欧美| 亚洲aa中文字幕| 日韩精选视频| 91精品国产亚洲| 国产剧情在线| 亚洲一级黄色av| 成人毛片视频免费看| 欧美午夜视频网站| 亚洲综合一二三| 亚洲精品视频自拍| 国产午夜精品久久久久久久久| 成人晚上爱看视频| 亚洲视频在线不卡| 免费观看30秒视频久久| www.亚洲天堂网| 在线看片成人| 视色,视色影院,视色影库,视色网| 国产欧美日韩一区二区三区四区| 成人精品水蜜桃| 国产精品日韩精品在线播放 | 欧美另类极品videosbestfree| 国产香蕉在线| 亚洲精品黄网在线观看| 亚洲国产成人在线观看| 884aa四虎影成人精品一区| 天堂а√在线中文在线新版| 亚洲妇熟xx妇色黄| 2021亚洲天堂| 亚洲欧美色综合| 欧美性生交大片| 国产精品你懂的在线欣赏| av黄色在线免费观看| 91在线观看下载| 午夜视频在线观看国产| 成人网页在线观看| 天堂www中文在线资源| 国产精品996| 少妇愉情理伦片bd| 国产一区二区福利| 男人午夜视频在线观看| 久久超碰97人人做人人爱| 日韩精品视频一二三| 日韩av一区二区三区四区| 男人插女人下面免费视频| 久久一区精品| 丰满少妇在线观看| 日本91福利区| 久久精品视频在线观看免费| 极品美女销魂一区二区三区| 特级丰满少妇一级| 久久av资源网| 欧美一级片在线免费观看| 国产成人综合在线| 无码人妻一区二区三区在线| thepron国产精品| 蜜桃精品成人影片| 国产日韩亚洲欧美综合| 激情五月深爱五月| 亚洲人成伊人成综合网小说| 久久高清无码视频| 狠狠躁夜夜躁人人爽天天天天97 | 国产自产2019最新不卡| 国产农村妇女精品久久| 国产高清成人在线| 久久久久久久人妻无码中文字幕爆| 国产.精品.日韩.另类.中文.在线.播放| 国产a√精品区二区三区四区| 国产ts人妖一区二区| 中国一级特黄录像播放| 久久蜜桃一区二区| 国产精品久久久久久成人| 亚洲靠逼com| 欧美三级一区二区三区| 在线观看免费亚洲| av男人天堂av| 日韩精品一二三四区| 成年人在线观看网站| 久久躁狠狠躁夜夜爽| 九色porny自拍视频在线播放| 国产91在线播放| 综合久久av| 久久香蕉综合色| 日韩中字在线| 久久精品国产sm调教网站演员| 狂野欧美性猛交xxxx巴西| 色婷婷激情视频| 久久中文娱乐网| 麻豆明星ai换脸视频| 精品久久久久久久久国产字幕| 国产亚洲久一区二区| 精品播放一区二区| gogogo高清在线观看免费完整版| 欧美另类老女人| 欧美日韩五区| 国产精品视频入口| 三区四区不卡| 中国丰满人妻videoshd | aa在线视频| 国产精品成人国产乱一区| 深夜激情久久| 午夜欧美性电影| 亚洲精品日韩久久| 激情图片中文字幕| 久久久午夜精品理论片中文字幕| 国产精品白丝喷水在线观看| 色菇凉天天综合网| 亚洲国产一二三区| 少妇高潮 亚洲精品| 亚洲日本天堂| 成人午夜电影在线播放| 国产高清欧美| 国产精品亚洲a| 成人午夜电影网站| 私库av在线播放| 欧美日韩一区精品| 噜噜噜噜噜在线视频| 国内成人精品一区| 亚洲日本va| 视频一区二区视频| 久久成人久久爱| 一级片久久久久| 91精品91久久久中77777| 五月婷在线视频| 国内精品久久久久影院 日本资源| av在线成人| 亚洲欧洲精品一区二区| 石原莉奈在线亚洲三区| 国产精品九九视频| 亚洲国产一区二区三区| 成人av无码一区二区三区| 菠萝蜜影院一区二区免费| 日本黄色一区| 水蜜桃一区二区三区| 日韩国产在线观看| 四虎影成人精品a片| 日韩欧美亚洲成人| 天堂中文在线资| 欧美最猛性xxxxx免费| 日韩精品福利一区二区三区| 婷婷无套内射影院| 97久久精品人人做人人爽50路| 国产污视频在线看| 亚洲国产精品福利| 成人免费观看在线观看| 精品欧美一区二区久久久伦 | 亚洲影视在线播放| 亚洲成人中文字幕在线| 欧美人与性动交a欧美精品| 一区二区亚洲视频| 欧美日韩福利在线| 99久久综合精品| 国产成人免费看| 一本色道久久88亚洲综合88| 日韩经典一区| 欧美日韩一区二区三区电影| 国产裸体歌舞团一区二区| 九九热视频精品| 亚洲精品第一国产综合精品| 美女露胸视频在线观看| 秋霞毛片久久久久久久久| 免费一区二区视频| av成人免费网站| 精品免费视频一区二区| 国产在线美女| 日本一区视频在线| 久久99国内精品| 欧美日韩偷拍视频| 亚洲精品久久久久久久久久久久 | 玖草视频在线观看| 在线观看网站黄不卡| 激情视频在线观看| 国产九色91| 日韩av在线免费观看不卡| 国内毛片毛片毛片毛片毛片| 日韩欧美国产精品一区| 三级在线观看视频| 亚洲一区二区三区欧美| 国产69精品久久久久毛片| 69xxxx国产| 欧美国产日韩中文字幕在线| 久久不卡国产精品一区二区| www.五月天色| 欧美日韩国产中文精品字幕自在自线| 国产高清视频在线播放| http;//www.99re视频| 久久都是精品| h色网站在线观看| 亚洲精品wwwww| 亚洲欧洲二区| 国产福利视频在线播放| 亚洲色图欧美在线| 蜜芽tv福利在线视频| 亚洲自拍另类欧美丝袜| 久久亚洲风情| 欧美三根一起进三p| 亚洲图片欧美日产| 国产色噜噜噜91在线精品| 欧美午夜aaaaaa免费视频| 亚洲福利电影网| 久久黄色美女电影| 日韩av电影免费播放| 懂色av一区二区三区蜜臀| 亚洲中文字幕在线一区| 91精品国产高清久久久久久91| 91精品啪在线观看国产18| 永久免费看mv网站入口78|