精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产午夜在线视频| 日本在线观看中文字幕| 91亚洲精品在看在线观看高清| 亚洲视频一二三区| 精品九九九九| 成人黄色片在线观看| 亚洲a在线视频| 日韩经典中文字幕在线观看| 91高清国产视频| 成人免费网站观看| 国产精品久久久久久久久久久免费看 | 在线国产亚洲欧美| 欧美黑人在线观看| xxxxx日韩| 不卡av免费在线观看| 国产欧美日韩中文| www.国产com| 欧美视频四区| 最新国产精品拍自在线播放| 日韩少妇一区二区| 日韩一级特黄| 色哟哟一区二区| 国产精品久久国产| 亚洲精品传媒| 久久综合av免费| 国产91精品一区二区绿帽| 亚洲熟妇av乱码在线观看| 99伊人成综合| 欧美韩日一区二区| 91香蕉一区二区三区在线观看| 日韩免费电影在线观看| 欧美成人一区二区| 日本r级电影在线观看| 欧美性片在线观看| 狠狠久久五月精品中文字幕| 免费在线看黄色片| 中文字幕在线观看播放| 一区在线中文字幕| 先锋影音日韩| 国产高清视频在线| 国产欧美精品区一区二区三区 | 成人精品视频| 亚洲欧美精品suv| 91av在线免费| 欧美一区二区三区久久| 亚洲精品99久久久久| 中文字幕18页| 亚洲第一二区| 欧美不卡一区二区三区| 少妇丰满尤物大尺度写真| 2019中文亚洲字幕| 欧美精品v国产精品v日韩精品| 亚洲成色www.777999| 毛片无码国产| 91福利精品第一导航| 人妻丰满熟妇av无码区app| 男人皇宫亚洲男人2020| 日韩欧美中文免费| 日韩精品无码一区二区三区免费| 中文字幕21页在线看| 日韩欧美国产激情| 蜜臀视频一区二区三区| 草民电影神马电影一区二区| 欧美日韩视频在线一区二区| 伊人网在线综合| 国产精品久久免费视频| 欧美成人一区二区三区片免费 | 91亚洲国产成人精品一区| 麻豆国产精品一区二区三区| 91人成网站www| 国产丰满美女做爰| 成人午夜电影网站| 蜜桃麻豆91| 91伦理视频在线观看| 中文字幕亚洲不卡| 久久久久亚洲av无码专区喷水| 精品176二区| 亚洲国产日韩a在线播放性色| 欧美视频免费看欧美视频| 神马午夜在线视频| 欧美色中文字幕| 日本美女久久久| 精品在线网站观看| 在线看日韩av| 精品一区在线视频| 三级成人在线视频| 亚洲在线一区二区| 无码精品在线观看| 国产精品天干天干在线综合| 在线观看av的网址| 依依综合在线| 91精品国产色综合久久久蜜香臀| 亚洲少妇一区二区三区| 久久99久久人婷婷精品综合| 久久亚洲影音av资源网| 亚洲精品午夜国产va久久成人| 日韩电影免费在线看| 亚洲综合在线播放| 久久免费看视频| 亚洲欧美日本韩国| 爱福利视频一区二区| 国产va免费精品观看精品| 日韩精品www| 亚洲欧美一区二区三区四区五区| 午夜在线视频观看日韩17c| 91精品国产综合久久久久久蜜臀| 污污网站在线免费观看| 亚洲欧美一区二区视频| 精品一区二区中文字幕| 国产一区二区三区黄网站 | 日本暖暖在线视频| 亚洲h在线观看| 中文字幕12页| 国产欧美日韩视频在线| 国内精品久久久久| 国产人妖一区二区| 亚洲国产精品成人久久综合一区| 成人毛片一区二区| 97精品久久| 上原亚衣av一区二区三区| 日本韩国欧美中文字幕| 风流少妇一区二区| 婷婷视频在线播放| 69堂精品视频在线播放| 日韩高清av在线| 久草视频精品在线| 国产精品综合av一区二区国产馆| 视频一区视频二区视频| 亚洲黄色中文字幕| 亚洲精品av在线播放| 国产无遮无挡120秒| 国产成人av影院| 2021国产视频| 麻豆国产一区| 久久夜色精品国产亚洲aⅴ| 中文字幕精品无码亚| 久久人人爽人人爽| 日韩精品一区二区三区久久| 久久超级碰碰| 国模吧一区二区三区| 黄色av一区二区三区| 亚洲激情在线激情| 久久久国产精品久久久| 亚洲有吗中文字幕| 91久久大香伊蕉在人线| 成人影欧美片| 日韩午夜中文字幕| 久久久久久蜜桃| 成人性生交大合| 精品国产一区三区| 欧美美女啪啪| 日本久久精品视频| 成人不用播放器| 欧美色网一区二区| 97在线观看视频免费| 国内精品伊人久久久久影院对白| 中文字幕日韩精品久久| 精品国产亚洲一区二区三区在线| 萌白酱国产一区二区| 精品久久在线观看| 亚洲高清不卡在线观看| 自拍视频一区二区| 可以看av的网站久久看| 亚洲成人自拍| 国产精品久久久久久久久久辛辛 | 国产高清成人在线| www插插插无码视频网站| 天堂99x99es久久精品免费| 国产suv精品一区二区| 在线免费看a| 日韩区在线观看| 一级片中文字幕| 国产日韩欧美a| 色黄视频免费看| 亚洲国产精品第一区二区三区| 精品国产综合久久| 国产极品一区| 欧美激情一二三| 天堂av在线免费观看| 欧美午夜不卡视频| avove在线播放| www国产精品av| 国产一级片自拍| 亚洲电影在线| 亚洲一区精品视频| jizz国产精品| 国产精品你懂得| 欧洲一区二区三区| 亚洲欧洲一区二区三区久久| 国产情侣av在线| 日韩欧美中文第一页| 放荡的美妇在线播放| 91麻豆高清视频| 婷婷激情小说网| 性xx色xx综合久久久xx| av电影一区二区三区| 日韩激情毛片| 91中文字幕在线观看| 人人草在线视频| 久久精品在线播放| 日韩精品系列| 欧美一区二区三区思思人| 国产免费av一区| 亚洲摸摸操操av| 一级特黄曰皮片视频| 粉嫩aⅴ一区二区三区四区| 亚洲一级免费观看| 午夜在线视频观看日韩17c| 日韩中文在线字幕| 欧美先锋资源| 久久久福利视频| 亚洲精品福利| 91精品国产自产在线| 久久91导航| 97视频人免费观看| 青春草视频在线观看| 精品国产网站地址| 北条麻妃在线| 亚洲另类图片色| 国精产品一品二品国精品69xx| 欧美日韩精品专区| 蜜臀尤物一区二区三区直播| 精品高清美女精品国产区| 在线免费日韩av| 中文字幕一区二区三区四区不卡 | 一区二区三区在线观看国产| wwwww黄色| 国产喂奶挤奶一区二区三区| 亚洲一区二区三区综合| 成人美女视频在线观看| 亚洲国产欧美91| 国内精品第一页| 中国黄色片免费看| 免费成人你懂的| xx欧美撒尿嘘撒尿xx| 久久九九国产| 成年人视频在线免费| 99热这里只有精品8| 日本欧美黄色片| 日韩视频二区| 国产精品无码人妻一区二区在线| 在线精品在线| 欧美一级视频免费看| 最新成人av网站| 99热自拍偷拍| 欧美亚洲网站| 日韩一级在线免费观看| 男人的天堂亚洲| 国内外免费激情视频| 日本午夜一区二区| www.色欧美| 国产一区二区三区高清播放| 九九热视频免费| 福利视频网站一区二区三区| 一边摸一边做爽的视频17国产| 成人国产视频在线观看| 亚洲精品乱码久久| 久久久.com| 日本激情视频一区二区三区| 亚洲美女屁股眼交| 黄网站免费在线| 欧美日韩在线视频首页| 欧美黄色一级大片| 欧美日韩精品三区| 99国产精品99| 亚洲成人免费网站| 久热av在线| 久久久精品一区二区三区| 人人超在线公开视频| 97超视频免费观看| 精品国产欧美日韩一区二区三区| 成人黄色片网站| 国内精品国产成人国产三级粉色| 久久一区二区精品| 欧美电影免费观看高清| 精品人妻大屁股白浆无码| 99视频在线精品国自产拍免费观看| 无码少妇一区二区三区芒果| 精品一区二区影视| 亚洲成人av免费在线观看| 日本一区二区不卡视频| 欧美黄色免费观看| 色一情一乱一乱一91av| 91在线精品入口| 日韩av网站大全| 老司机午夜在线| 97国产精品人人爽人人做| 精品网站在线| 国产精品免费看一区二区三区| 欧州一区二区| 国产乱子伦精品无码专区| 日韩中文字幕区一区有砖一区| 一二三av在线| 久久久国产精品麻豆| 日本福利片在线观看| 欧美视频在线观看 亚洲欧| 国产免费一区二区三区免费视频| 精品亚洲精品福利线在观看| 黄色免费网站在线| 日韩女优在线播放| 亚洲日本va| 亚洲欧洲精品一区二区| 99视频精品| xxxx视频在线观看| 国产精品久久久久国产精品日日 | 一本色道久久综合亚洲精品不| 一路向西2在线观看| 91美女福利视频| 九九久久免费视频| 欧美日韩不卡视频| 日韩av成人| 国模精品系列视频| 欧美一级片网址| 亚洲精品国产一区| 国产精品一卡| 污污免费在线观看| 亚洲免费在线看| 国产一区二区三区三州| 伊人久久精品视频| 国产精品迅雷| 精品国产综合| 日韩午夜免费| 国产免费a级片| 一区二区三区中文字幕精品精品 | 欧美成aaa人片在线观看蜜臀| 日本精品不卡| 久久久www免费人成黑人精品| 韩日成人在线| 爱情岛论坛亚洲自拍| 国产精品的网站| 亚洲男人天堂网址| 国产亚洲精品一区二区| 成人线上视频| 欧美少妇一区| 巨乳诱惑日韩免费av| 欧洲美一区二区三区亚洲 | 国产视频一区二区三| 久久国产一区二区三区| 日韩久久一区| 久久精品国产精品亚洲精品色| 蜜臀av一区二区| 国产大屁股喷水视频在线观看| 欧洲国内综合视频| 最近高清中文在线字幕在线观看| 国产精品成人v| 欧美日韩国产在线观看网站| 五月婷婷六月合| 一区二区中文视频| 国产情侣激情自拍| 九色精品美女在线| 哺乳挤奶一区二区三区免费看| 国产传媒久久久| 成人av在线资源| 天天操天天摸天天干| 亚洲精品视频免费| 成人黄色毛片| 中文精品一区二区三区| 国产一区福利在线| 久久久久久久九九九九| 亚洲精品国产精品国自产在线| 忘忧草在线影院两性视频| 欧美日韩亚洲一区二区三区在线观看 | 日本国产在线观看| 热久久视久久精品18亚洲精品| 国产精品欧美三级在线观看| 国产福利影院在线观看| 1024国产精品| 人妻精品一区二区三区| 日韩av色在线| 91久久国产| 欧亚乱熟女一区二区在线| 欧美性黄网官网| 麻豆视频网站在线观看| 成人性色av| 久久亚洲风情| 天天操天天操天天操天天操天天操| 精品欧美久久久| 欧美日韩免费看片| 9999在线观看| zzijzzij亚洲日本少妇熟睡| 五月婷婷六月婷婷| 欧美成人剧情片在线观看| 欧美一区二区三区红桃小说| 亚洲一区日韩精品| 亚洲第一激情av| 在线日本视频| 精品一区二区三区自拍图片区| 另类小说欧美激情| 日韩精品一区二区三| 在线观看视频99| 精品淫伦v久久水蜜桃| 污色网站在线观看| 午夜精品视频在线观看| 日本视频在线免费观看| 精品久久中出| 国产很黄免费观看久久| www.亚洲激情| 97视频在线观看免费| 外国成人免费视频| 精品人妻无码一区|