Nacos

一、同步配置(ConfigService)

Nacos客戶端里負責配置同步的是NacosConfigService偿曙,它里面有一個ClientWorker围小。在nacos1.4里是有個executor線程池去跑checkConfigInfo()方法來長輪詢拉取配置。nacos2.0宵睦,ClientWorker里面有個ConfigRpcTransportClientagent,他里面有個executor線程池墅诡,執(zhí)行executeConfigListen()方法拉取配置壳嚎。長輪詢拉取配置的過程:
在一個死循環(huán)里,發(fā)送請求給nacos服務端去獲取發(fā)生了變化的配置的changedGroupKeys(即namespace末早,groupid烟馅,dataid信息),如果獲取到了然磷,在用這些key去獲取具體的配置郑趁。
這個請求發(fā)送到nacos服務端時,nacos服務端根據(jù)請求里的想要監(jiān)聽的配置計算一下MD5姿搜,跟服務端的數(shù)據(jù)對比一下寡润,如果不一樣捆憎,說明發(fā)生了變化,那就返回梭纹。否則創(chuàng)建一個任務(里面包含請求數(shù)據(jù))放到一個集合allSubs里躲惰,然后通過定時器執(zhí)行此任務,30s(isFixedPolling的話29.5s)后執(zhí)行变抽,將此任務移出allSubs础拨,如果配置發(fā)生了變化,那就響應相應的key绍载。這是服務端處理請求的邏輯诡宗,而在這30s之內(nèi),當服務端配置發(fā)生變化時逛钻,會發(fā)布一個事件僚焦,事件監(jiān)聽器在收到事件后锰提,遍歷allSubs曙痘,判斷里面的請求的keys是否包含當前變化的key,如果有那就響應立肘。

二边坤、同步服務(NamingService)

  • 客戶端發(fā)起事件訂閱后,HostReactor中有UpdateTask線程谅年,每10s發(fā)送一次Pull請求茧痒,獲得服務端最新的地址列表
  • 服務端與服務提供者的實例之間維持了心跳檢測,一旦服務提供者出現(xiàn)異常融蹂,則會發(fā)送一個Push消息給Nacos客戶端旺订,也就是服務消費者
  • 服務消費者收到請求后,使用HostReactor的processServiceJSON方法解析消息超燃,更新本地服務地址列表区拳。

參考資料

nacos - 周杰倫本人的專欄 - 掘金

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市意乓,隨后出現(xiàn)的幾起案子樱调,更是在濱河造成了極大的恐慌,老刑警劉巖届良,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笆凌,死亡現(xiàn)場離奇詭異,居然都是意外死亡士葫,警方通過查閱死者的電腦和手機乞而,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慢显,“玉大人晦闰,你說我怎么就攤上這事放祟。” “怎么了呻右?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵跪妥,是天一觀的道長。 經(jīng)常有香客問我声滥,道長眉撵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任落塑,我火速辦了婚禮纽疟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘憾赁。我一直安慰自己污朽,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布龙考。 她就那樣靜靜地躺著蟆肆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晦款。 梳的紋絲不亂的頭發(fā)上炎功,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音缓溅,去河邊找鬼蛇损。 笑死,一個胖子當著我的面吹牛坛怪,可吹牛的內(nèi)容都是我干的淤齐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼袜匿,長吁一口氣:“原來是場噩夢啊……” “哼更啄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沉帮,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤锈死,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后穆壕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體待牵,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年喇勋,在試婚紗的時候發(fā)現(xiàn)自己被綠了缨该。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡川背,死狀恐怖贰拿,靈堂內(nèi)的尸體忽然破棺而出蛤袒,到底是詐尸還是另有隱情,我是刑警寧澤膨更,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布妙真,位于F島的核電站,受9級特大地震影響荚守,放射性物質(zhì)發(fā)生泄漏珍德。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一矗漾、第九天 我趴在偏房一處隱蔽的房頂上張望锈候。 院中可真熱鬧,春花似錦敞贡、人聲如沸泵琳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽获列。三九已至,卻和暖如春势木,著一層夾襖步出監(jiān)牢的瞬間蛛倦,已是汗流浹背歌懒。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工啦桌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人及皂。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓甫男,卻偏偏與公主長得像,于是被迫代替她去往敵國和親验烧。 傳聞我的和親對象是個殘疾皇子板驳,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 客戶端與配置中心的數(shù)據(jù)交互方式其實無非就兩種,要么推push碍拆,要么拉pull若治。 推模型 客戶端與服務端建立TCP長...
    Y了個J閱讀 1,089評論 0 0
  • 上篇文章《Nacos 配置中心原理分析》我和大家分析了 Nacos 的配置中心原理,主要分析了 Nacos 客戶端...
    逅弈閱讀 48,371評論 17 48
  • Nacos主要有兩大功能:配置中心和服務注冊 配置中心 我們知道客戶端會有一個長輪訓的任務去檢查服務器端的配置是否...
    WEIJAVA閱讀 16,481評論 1 1
  • 1 什么是Nacos感混,Nacos可以干什么端幼? Nacos是微服務架構(gòu)中的注冊中心和配置中心,其他服務的服務信息(i...
    軌跡510閱讀 13,203評論 6 24
  • 配置中心 配置中心簡介 說到配置中心弧满, 大家可能都不陌生婆跑。我們攜程現(xiàn)在用的qconfig, 就是一個典型的配置中心...
    窩磐ノ兀狂奔閱讀 7,963評論 0 3