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

深度剖析:Dubbo使用Nacos注冊中心的坑

開發
本文主要梳理了Dubbo使用Nacos注冊中心的坑,同時也講述了,出現問題時,如何一步一步排查。

問題描述

前幾年我在做微服務部件升級時,將Dubbo的注冊中心從Zookeeper切換到Nacos。切換的原因是有2點:

  • Zookeeper保障了CP,面對大量服務上下線時,吞吐量和響應有瓶頸。Nacos保障了AP,目前微服務的場景下,業界建議優先保障AP,這樣有較好的吞吐量和較快的響應。
  • 本著能少用部件就少用,盡量減少故障點的原則。Nacos既可以做注冊中心也可以做配置中心,所以二合一,只采用一個部件。

切換完之后,奇怪的事情發生了,出現2個現象:

  • 有些微服務啟動很慢很慢,甚至長達15分鐘的時間都無法成功啟動,一直在打印大量的nacos請求日志。但是有些微服務啟動又較快。
  • 通過VisualVM查看JVM的線程情況,發現有的微服務居然高達4000左右的線程數。但是沒切換之前只有幾百的線程數。啟動了大量的線程,導致CPU飆升不少,同時服務啟動也慢。

通過現象開始排查

出現這種問題時,剛開始有點抓瞎,但是我們只能從常規的手段一點點排查,急不來。通過表面的現象,我們來逐步分析。

現象一:微服務啟動很慢很慢,一直在打印大量的nacos請求日志。日志如下:

現象二:JVM的線程數高達4000左右。線程情況如下:

基于以上現象,我們只能初步判斷是nacos的問題(當然結論不是nacos的問題)。

我們先來猜測:可能由于某種原因,產生了大量的nacos線程,每個線程又在不停的發送http請求。

那接下來繼續分析Nacos。

分析Nacos

1.回顧Nacos原理

我們知道Nacos客戶端注冊和訂閱服務流程大概如下:

所以,一般nacos-client有4個重要線程:

  • 定時從nacos-server拉取服務的線程
  • 維持心跳的線程
  • 監聽服務變更的線程
  • 推送本服務變更信息的線程

2.分析Nacos

根據以上線程的名稱和原理流程圖,我們可以在nacos源碼里找到對應的位置,代碼如下:

翻看每個線程里執行的任務,確實能找到他們都在向nacos-server發送對應的的http的api請求:

既然找到了創建線程和發起http調用的原因,那就繼續查看是哪里調用的init方法。

此時會自然想到dubbo了,因為dubbo采用nacos作為注冊中心,自然要依賴nacos-client創建出nacos注冊中心相關的類,然后從nacos注冊中心類中獲取到微服務的元數據信息。

Dubbo登場

在翻看Dubbo源碼之前,先回顧下Dubbo是怎樣基于 引用配置文件 或者 引用配置注解創建Proxy的,大致流程如下:

ReferenceAnnotationBeanPostProcessor#doGetInjectedBean

?

ReferenceAnnotationBeanPostProcessor#buildReferenceBeanIfAbsent

?

ReferenceBeanBuilder#build

?

ReferenceBean#afterPropertiesSet

?

ReferenceConfig#init

至此完成了referenceProxy的創建。

重點看ReferenceConfig#init方法,方法里有一行代碼:ref = createProxy(map);,順著這行代碼往里走,如下:

RegistryProtocol#refer

?

AbstractRegistryFactory#getRegistry

重點來了,重點來了,重點來了,核心代碼和注釋見下圖。

總之是:因為在上面ReferenceConfig#init方法里引入了timestamp參數,同時又因為NacosRegistryFactory又自己實現了一套createRegistryCacheKey方法,這個方法里沒有截掉timestamp參數,所有就會導致從緩存里取不到注冊中心信息,所有就會不停的去創建,從而又創建了更多的線程,從而發送了很多http請求。

再次查看ReferenceConfig#init方法的源碼,確實是加入了timestamp參數:

至此問題的原因已經找到了,接下來就是如何解決了。

解決方法

解決方法也很簡單,就是在Dubbo的NacosRegistryFactory類里面截掉timestamp參數。

遺憾的是,我當時發現了這個問題時,打算給Dubbo官方發issue的,發現已經有網友搶先一步發了issue,并且已經合并到2.7.9分支里了。

以下是解決方法的代碼截圖:

兩個版本處理URL的結果如下:

2.7.8版本:
nacos://10.20.1.13:8848,10.20.1.14:8848,10.20.1.15:8848/org.apache.dubbo.registry.RegistryService?application=ehome-cloud&application.version=1.0&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&namespace=dev-jzj&owner=ehome-cloud-owner&pid=21335&qos.enable=false&release=2.7.8×tamp=1712545856489

2.7.9版本:
nacos://10.20.1.13:8848,10.20.1.14:8848,10.20.1.15:8848/org.apache.dubbo.registry.RegistryService?namespace=dev-jzj

這個問題是在dubbo的2.7.8版本出現的,最后通過將2.7.9的修復class替換了2.7.8的NacosRegistryFactoryclass類,然后重新打了dubbo依賴包,問題得以解決。

有朋友會問:為啥不是引用2.7.9呢?因為我擔心2.7.9有其他問題,所以做個class替換,然后繼續用2.7.8是個較好的方式。

總結

本文主要梳理了Dubbo使用Nacos注冊中心的坑,同時也講述了,出現問題時,如何一步一步排查。透過現象結合源碼,逐步找到問題的真相。

當然在排查之前,就需要對Dubbo和Nacos有一定的了解。所以各位朋友,在平時還是要多積累,多深入原理,這樣遇到問題才能順利解決。

責任編輯:趙寧寧 來源: 不焦躁程序員
相關推薦

2021-08-04 11:54:25

Nacos注冊中心設計

2023-03-01 08:15:10

NginxNacos

2023-10-30 09:35:01

注冊中心微服務

2023-01-30 22:43:39

DubboZooKeeper

2022-02-10 20:09:24

Dubbo源碼Provider

2022-08-30 22:12:19

Nacos組件服務注冊

2023-02-26 00:00:00

2020-06-29 07:58:18

ZooKeeperConsul 注冊中心

2023-06-13 08:25:14

注冊中心Nacos上線

2023-07-18 08:28:58

注冊中心下線Nacos

2023-09-12 07:10:13

Nacos架構

2010-03-02 09:42:42

Android平臺

2010-09-25 15:21:29

2023-04-26 08:19:48

Nacos高可用開發

2009-09-01 16:14:11

C#泛型

2023-01-05 07:55:59

Zookeeper服務注冊

2024-08-06 09:08:59

2022-04-27 20:02:22

Dubbo注冊中心開發

2021-08-02 07:35:19

Nacos配置中心namespace

2025-05-08 09:31:06

點贊
收藏

51CTO技術棧公眾號

日韩在线综合| 国产不卡在线| 欧美亚洲三区| 夜夜嗨av色一区二区不卡| 美女网站视频黄色| 黄网站免费在线播放| 国产精品亚洲综合一区在线观看| 国外成人在线视频| 国产1区2区在线观看| 97精品资源在线观看| 亚洲国产成人av好男人在线观看| 欧美高清视频一区二区三区在线观看 | 日本一区二区在线| 国产偷拍一区二区| 国产精品亚洲综合久久| 久久天天躁夜夜躁狠狠躁2022| 免费a v网站| 欧美一级网址| 精品久久久久久久久久| 亚洲一区三区视频在线观看| 丰满人妻一区二区三区免费| 日韩电影在线看| 欧美大秀在线观看| 色欲AV无码精品一区二区久久| 香蕉大人久久国产成人av| 色婷婷av一区二区三区大白胸| 看全色黄大色大片| 国产黄色免费在线观看| 成人午夜免费视频| 国产又爽又黄的激情精品视频| 91久久国产视频| 国产精品国产一区| 国产婷婷色综合av蜜臀av| 人人爽人人爽av| 亚洲精品一区| 亚洲综合网站在线观看| 亚洲一卡二卡三卡| 国产视频二区在线观看| 不卡影院免费观看| 97se国产在线视频| 91av国产精品| 麻豆91精品视频| 国产精品久久久| 久久国产视频一区| 亚洲看片一区| 欧美极品少妇xxxxⅹ喷水| 日韩在线观看免| 第一会所亚洲原创| 国产亚洲视频在线观看| b站大片免费直播| 超碰一区二区三区| 欧美变态口味重另类| 成人高清在线观看视频| 亚洲免费看片| 欧美日本国产一区| 亚洲精品自拍网| 视频精品导航| 欧美日韩不卡一区| 免费看污污网站| 电影久久久久久| 在线一区二区视频| 黄色三级视频片| 成人日韩在线| 欧美三级电影一区| 在线黄色免费观看| 成人豆花视频| 日韩一区二区三区av| 91av免费观看| 97青娱国产盛宴精品视频| 欧美mv日韩mv| 中文字幕人妻熟女在线| 加勒比色综合久久久久久久久| 日韩一区二区在线观看| 影音先锋资源av| 美女福利一区| 亚洲人成欧美中文字幕| 丁香花五月婷婷| 欧美激情国产在线| 欧美成人一区在线| 久久久无码一区二区三区| 亚洲国产精品一区制服丝袜| 97在线视频国产| 国产成人一级片| 日韩专区欧美专区| 国产欧美日韩精品在线观看| 99国产精品一区二区三区| 国产精品一区2区| 国产亚洲情侣一区二区无| 欧美视频综合| 亚洲三级小视频| 青青青青草视频| 亚洲人体视频| 欧美精品xxxxbbbb| 欧美双性人妖o0| 欧美综合在线视频观看| 久久亚洲影音av资源网| 成年人午夜视频| 日韩高清在线不卡| 3d动漫精品啪啪一区二区三区免费 | 国产精品一国产精品k频道56| 日本亚洲欧洲色| 国产精品国产一区二区三区四区| 粉嫩绯色av一区二区在线观看| 久久青青草原| 久热国产在线| 精品久久久在线观看| 国产视频1区2区3区| 2020最新国产精品| 一本色道久久综合亚洲精品小说| 麻豆精品一区二区三区视频| 国产精品毛片在线看| 91精品免费看| 水莓100国产免费av在线播放| 国产精品福利一区| 奇米精品一区二区三区| 国产美女亚洲精品7777| 亚洲欧美成人精品| 免费又黄又爽又色的视频| 久久久久国产一区二区| 成人欧美一区二区三区视频| 91在线视频| 午夜亚洲福利老司机| 中文字幕线观看| 一区二区导航| 久久久久久午夜| 国产伦理吴梦梦伦理| 久久久噜噜噜久久中文字幕色伊伊 | 欧美伊久线香蕉线新在线| 国产有码在线观看| 国产亲近乱来精品视频| 日本福利视频在线| 一区二区亚洲视频| 久久视频免费观看| 中文字幕无线码一区| 久久综合成人精品亚洲另类欧美 | 青青草福利视频| 欧美日韩精品一本二本三本| 91精品视频网站| 95在线视频| 欧美视频一区二区三区在线观看| 成人免费毛片日本片视频| 欧美a级一区| 成人h猎奇视频网站| av资源种子在线观看| 色综合久久久网| 三级电影在线看| 99精品国产一区二区青青牛奶| 亚洲自拍偷拍在线| 黄网站在线免费| 欧美精品乱人伦久久久久久| 日韩欧美黄色网址| 日本女优在线视频一区二区| 欧美精品七区| 亚洲www.| 国产亚洲免费的视频看| www.亚洲激情| 欧美韩日一区二区三区| 亚洲一级免费观看| 久久国产成人精品| 国产在线视频2019最新视频| 日本激情在线观看| 麻豆av在线导航| 一区二区三区欧美日| 99视频在线观看视频| 欧美aaaa视频| 91久久久久久久久| av在线导航| 精品国产第一区二区三区观看体验| 99视频只有精品| 国产99一区视频免费| 成年人看的毛片| 美女福利一区| 国产精品激情av电影在线观看| 成人在线免费观看| 欧美精品国产精品| 欧美日韩在线国产| 成人av免费在线播放| 国产一区二区三区精彩视频 | 在线不卡a资源高清| 69夜色精品国产69乱| 国产激情视频一区二区三区欧美| 欧美一区二区三区综合| 美女一区二区在线观看| 热久久这里只有| 亚洲天天影视| 精品欧美一区二区在线观看| 国产伦精品一区二区三区四区免费| av一区二区三| 亚洲午夜av在线| mm131美女视频| 精品一区二区国语对白| 亚洲理论电影在线观看| 国产精品一区二区av交换| 国产日产亚洲精品| 国产亚av手机在线观看| 亚洲欧美变态国产另类| 国产视频在线免费观看| 天天影视网天天综合色在线播放| 亚洲色成人网站www永久四虎| 国产一区二区在线免费观看| 日韩国产一级片| 久草在线成人| 91原创国产| 久久精品女人天堂av免费观看| 久久精品视频在线播放| 神马久久久久久久久久| 欧美精品久久久久久久多人混战 | 欧美在线黄色| 欧美日韩在线观看一区| 国产麻豆精品| 国产a级全部精品| 日韩三级免费| 视频在线一区二区| 婷婷在线免费观看| 欧美日韩精品一区二区三区四区| 国产精品自拍视频一区| 中文字幕一区二| 亚洲黄色免费视频| heyzo一本久久综合| 天堂av8在线| 久久国产66| 国产毛片视频网站| 午夜影院欧美| 日韩精品久久久免费观看| 北条麻妃一区二区三区在线观看| 国产日韩精品入口| 亚洲日本天堂| 91精品国产91久久久久久久久| 久久77777| 中文字幕日韩有码| 日本福利午夜视频在线| 亚洲第一av网站| 国产熟女精品视频| 欧美影院一区二区| 91精品久久久久久久久| 国产高清视频在线| 日韩精品在线看| 四虎永久在线精品免费网址| 欧美一区二区三区四区久久| 中文字幕一区2区3区| 在线看一区二区| 精品人妻一区二区色欲产成人| 亚洲电影一级黄| 久久久国产精品人人片| 亚洲欧美日韩久久精品| 欧美日韩国产一二三区| 欧美激情一区三区| 西西444www无码大胆| 久久综合狠狠综合| 成人国产精品久久久网站| 91色乱码一区二区三区| 熟妇高潮精品一区二区三区| 成人免费三级在线| 在线激情影院一区| 亚洲精品国产精品乱码视色| 欧美性生活大片免费观看网址| 日本在线观看中文字幕| 亚洲成人777| 国产精品人人人人| 色综合色狠狠综合色| 免费无码国产精品| 欧美日韩成人在线| 国产免费黄色片| 精品久久人人做人人爱| 天堂网av在线播放| 亚洲人成网在线播放| 3d成人动漫在线| 久久亚洲国产精品成人av秋霞| 中文字幕资源网在线观看| 久久久久久久久爱| 成人国产二区| 国产精品普通话| 国产一区二区久久久久| 国产精品日韩一区二区| 亚洲伊人春色| 中文字幕日韩一区二区三区不卡| 91精品国产自产拍在线观看蜜| www.一区二区.com| 亚洲精品少妇| 午夜国产一区二区三区| 国产精品一区三区| 亚洲精品女人久久久| 国产片一区二区三区| 五月天av网站| 精品日韩视频在线观看| 中文字幕av在线免费观看| 欧美一区二区黄| 视频三区在线观看| 日韩视频在线一区| 91九色在线播放| 国产精品r级在线| 亚洲大奶少妇| 欧美资源一区| 欧美三级第一页| 日本黄网站免费| 国产一区二区网址| 一级做a爰片毛片| 最新日韩在线视频| 久久黄色精品视频| 91麻豆精品国产91久久久使用方法| 天天色综合久久| 久久精品一区中文字幕| 日韩精品极品| 91丨九色丨国产| 激情综合网站| 一本久道高清无码视频| 日本中文字幕一区二区视频| 美女日批在线观看| 欧美激情资源网| 久久久久久久九九九九| 色噜噜狠狠色综合中国 | 91福利区一区二区三区| 国产黄色片免费| 亚洲毛片在线免费观看| av播放在线| 欧美中文字幕视频| 精品久久亚洲| 亚洲欧洲精品一区二区三区波多野1战4 | 天堂在线资源库| xx视频.9999.com| 久久毛片亚洲| 成人激情直播| 精品久久久中文字幕| 一本—道久久a久久精品蜜桃| 一区二区三区福利| 色天使在线观看| 国产视频一区二区三区在线观看| 免费中文字幕视频| 色狠狠色狠狠综合| 天堂av在线资源| 欧美精品一区二区免费| 亚洲精品一区av| 欧美日韩在线一区二区三区| 欧美va天堂在线| 日本中文字幕观看| 久久久综合九色合综国产精品| 日本五十路女优| 91精品国产欧美日韩| 久久电影视频| 日韩av电影院| 开心激情综合| 99色这里只有精品| 国产精品一区2区| 啪啪一区二区三区| 91久久国产综合久久| 婷婷开心激情网| 97超碰国产精品女人人人爽| 亚洲成人五区| 999一区二区三区| 国产成人精品一区二区三区四区| 免费黄色激情视频| 欧美精品日日鲁夜夜添| 亚洲xxxxxx| 91免费版网站入口| 日韩精品一区二区三区免费观看| 又粗又黑又大的吊av| 91在线视频网址| 日韩福利片在线观看| 日韩电影网在线| 岛国av在线网站| 国产一区二区三区黄| 影音先锋国产精品| 在线观看一区二区三区四区| 五月激情综合婷婷| 蜜臀av免费在线观看| 欧美一级高清免费| 一道本一区二区三区 | 久久精品三级| 日本少妇高潮喷水xxxxxxx| 欧美少妇bbb| 尤物网在线观看| 国产在线高清精品| 欧美日韩午夜| 影音先锋黄色资源| 欧美性生交大片免网| 你懂的免费在线观看| 国产精品永久在线| 羞羞答答成人影院www| 国产一级免费大片| 天天综合天天做天天综合| 天堂成人在线观看| 国产日本欧美一区二区三区在线 | 日韩久久精品一区二区三区| 水蜜桃久久夜色精品一区的特点| 欧美色图17p| 日韩一区二区视频| 超碰一区二区| 亚洲一区精彩视频| 国产精品99久| www.国产com| 色噜噜狠狠狠综合曰曰曰88av| 日韩亚洲精品在线观看| 成人精品视频在线播放| 欧美高清在线视频| 国产黄频在线观看| 3344国产精品免费看| 成人3d精品动漫精品一二三| 久久久久久久久久久久久久久国产| 亚洲成av人综合在线观看| 精品欧美不卡一区二区在线观看|