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

服務發現:CP or AP?

開發 前端
當集中注冊時,消息總棧下發通知給注冊中心集群節點,對于單個節點也會不停的收到更新通知,這里也存在高I/O問題,會不會有宕機?event bus可以改造成主從模式保證高可用。

1 服務發現的意義

為高可用,生產環境中服務提供方都以集群對外提供服務,集群里這些IP隨時可能變化,也需要用一本“通信錄”及時獲取對應服務節點,這獲取過程即“服務發現”。

對服務調用方和服務提供方,其契約就是接口,相當于“通信錄”中的姓名,服務節點就是提供該契約的一個具體實例。服務IP集合作為“通信錄”中的地址,從而可通過接口獲取服務IP的集合來完成服務的發現。即PRC框架的服務發現:

圖片

RPC服務發現原理圖

1.1 服務注冊

在服務提供方啟動時,將對外暴露的接口注冊到注冊中心,注冊中心將這個服務節點的IP和接口保存

1.2 服務訂閱

在服務調用方啟動時,去注冊中心查找并訂閱服務提供方的IP,然后緩存到本地,并用于后續的遠程調用

2 為何不使用DNS?

服務發現的本質,就是完成接口跟服務提供者IP的映射。能否把服務提供者IP統一換成一個域名,利用DNS實現?

2.1 DNS流程

圖片

DNS查詢流程

所有服務提供者節點都配置在同一域名下,調用方是可通過DNS拿到隨機的一個服務提供者的IP,并建立長連接,但業界為何不用這方案?

異常考慮

  • ? 若該IP端口下線了,服務調用者能否及時摘除服務節點
  • ? 若在之前已上線一部分服務節點,突然對這服務擴容,新上線的服務節點能否及時接收到流量

都不能。因為為提升性能和減少DNS服務壓力,DNS采取多級緩存,緩存時間較長,特別是JVM的默認緩存是永久有效,所以服務調用者不能及時感知到服務節點變化。

是否可加一個負載均衡設備?將域名綁定到這臺負載均衡設備,通過DNS拿到負載均衡的IP。服務調用時,服務調用方就能直接跟VIP建立連接,然后由VIP機器完成TCP轉發:

圖片

VIP方案

這是能解決DNS遇到的一些問題,但RPC里不是很合適:

  • ? 搭建負載均衡設備或TCP/IP四層代理,需額外成本
  • ? 請求流量都經過負載均衡設備,多經過一次網絡傳輸,浪費性能
  • ? 負載均衡添加節點和摘除節點,一般要手動添加,當大批量擴容和下線時,會有大量人工操作和生效延遲
  • ? 服務治理時,需更靈活的負載均衡策略,目前負載均衡設備的算法不滿足靈活需求

由此可見,DNS或者VIP方案雖然可以充當服務發現的角色,但在RPC場景里面直接用還是很難的。

3 基于zk的服務發現(CP)

服務發現的本質:完成接口跟服務提供者IP的映射。就是一種命名服務,還希望注冊中心完成實時變更推送,zk、etcd都能實現。

搭建一個zk集群作為注冊中心集群,服務注冊時,只需服務節點向zk寫入注冊信息,利用zk的Watcher機制完成服務訂閱與服務下發功能。

整體流程

圖片

基于ZooKeeper服務發現結構圖

1. 服務平臺管理端先在zk創建一個服務根路徑,可根據接口名命名(如:/service/com.javaedge.xxService),在這路徑再創建服務提供方目錄與服務調用方目錄(如:provider、consumer),分別存儲服務提供方、服務調用方的節點信息

2. 當服務提供方發起注冊時,會在服務提供方目錄中創建一個臨時節點,節點中存儲該服務提供方的注冊信息

3. 當服務調用方發起訂閱時,則在服務調用方目錄中創建一個臨時節點,節點中存儲該服務調用方的信息,同時服務調用方watch該服務的服務提供方目錄(/service/com.demo.xxService/provider)中所有的服務節點數據。

4. 當服務提供方目錄下有節點數據發生變更時,zk通知給發起訂閱的服務調用方

zk缺陷

早期RPC框架服務發現就是基于zk實現,但后續團隊微服務化程度越來越高,zk集群整體壓力越來越高,尤其在集中上線時越發明顯。“集中爆發”是在一次大規模上線時,當時有超大批量服務節點在同時發起注冊操作,ZooKeeper集群的CPU飆升,導致集群不能工作,也無法立馬將zk集群重新啟動,一直到zk集群恢復后業務才能繼續上線。

根本原因就是zk本身性能問題,當連接到zk的節點數量特多,對zk讀寫特頻繁,且zk存儲目錄達到一定數量,zk將不再穩定,CPU持續升高,最終宕機。宕機后,由于各業務的節點還在持續發送讀寫請求,剛一啟動,zk就因無法承受瞬間的讀寫壓力,馬上宕機。

要重新考慮服務發現方案。

4 消息總線(AP)

zk強一致性,集群的每個節點的數據每次發生更新操作,都通知其它節點同時執行更新。它要求保證每個節點的數據實時完全一致,直接導致集群性能下降。

而RPC框架的服務發現,在服務節點剛上線時,服務調用方可容忍在一段時間后(如幾s后)發現這個新上線的節點。畢竟服務節點剛上線后的幾s內,甚至更長的一段時間內沒有接收到請求流量,對整個服務集群沒有什么影響,可犧牲掉CP(強制一致性),選擇AP(最終一致),換取整個注冊中心集群的性能和穩定性。

是否有一種簡單、高效,并且最終一致的更新機制,代替zk數據強一致的數據更新機制?最終一致性,可考慮消息總線機制。注冊數據可全量緩存在每個注冊中心的內存,通過消息總線來同步數據。當有一個注冊中心節點接收到服務節點注冊時,會產生一個消息推送給消息總線,再通過消息總線通知給其它注冊中心節點更新數據并進行服務下發,從而達到注冊中心間數據最終一致性。

4.1 總體流程

圖片

流程圖

? 服務上線,注冊中心節點收到注冊請求,服務列表數據變化,生成一個消息,推送給消息總線,每個消息都有整體遞增的版本

? 消息總線主動推送消息到各注冊中心,同時注冊中心定時拉取消息。對獲取到消息的,在消息回放模塊里面回放,只接受大于本地版本號的消息,小于本地版本號的消息直接丟棄,實現最終一致性

? 消費者訂閱可從注冊中心內存拿到指定接口的全部服務實例,并緩存到消費者的內存

? 采用推拉模式,消費者可及時拿到服務實例增量變化情況,并和內存中的緩存數據進行合并。

為性能,這里采用兩級緩存,注冊中心和消費者的內存緩存,通過異步推拉模式確保最終一致性。

服務調用方拿到的服務節點不是最新的,所以目標節點存在已下線或不提供指定接口服務的情況,這時咋辦?這問題放到RPC框架里處理,在服務調用方發送請求到目標節點后,目標節點會進行合法性驗證,若指定接口服務不存在或正在下線,則拒絕該請求。服務調用方收到拒絕異常后,會安全重試到其它節點。

通過消息總線,完成注冊中心集群間數據變更的通知,保證數據最終一致性,并能及時觸發注冊中心的服務下發。服務發現的特性是允許我們在設計超大規模集群服務發現系統的時候,舍棄強一致性,更多考慮系統健壯性。最終一致性才是分布式系統設計更常用策略。

5 總結

通常可使用zk、etcd或分布式緩存(如Hazelcast)解決事件通知問題,但當集群達到一定規模之后,依賴的ZooKeeper集群、etcd集群可能就不穩定,無法滿足需求。

在超大規模的服務集群下,注冊中心所面臨的挑戰就是超大批量服務節點同時上下線,注冊中心集群接受到大量服務變更請求,集群間各節點間需要同步大量服務節點數據,導致:

? 注冊中心負載過高

? 各節點數據不一致

? 服務下發不及時或下發錯誤的服務節點列表

RPC框架依賴的注冊中心的服務數據的一致性其實并不需要滿足CP,只要滿足AP即可。我們就是采用“消息總線”的通知機制,來保證注冊中心數據的最終一致性,來解決這些問題的。

如服務節點數據的推送采用增量更新的方式,這種方式提高了注冊中心“服務下發”的效率,而這種方式,還可用于如統一配置中心,用此方式可以提升統一配置中心下發配置的效率。

6 FAQ

某大廠中間件的用戶平臺,服務掛了,在注冊中心上還得手動刪除死亡的節點,若是zk,服務沒了,就代表會話也沒了,臨時節點應該會被通知到把?為何還要手動刪除?

臨時節點是需要等到超時時間之后才刪除,不夠實時。

如果要能切換流量,要服務端配置權重負載均衡策略,這樣服務器端即可通過調整權重安排流量。

服務消費者都是從注冊中心拉取服務提供者的地址信息,所以要切走某些服務提供者數據,只需要將注冊中心這些實例的地址信息刪除(其實下線應用實例,實際也是去刪除注冊中心地址信息),然后注冊中心反向通知消費者,消費者受到拉取最新提供者地址信息就沒有這些實例了。

通過服務發現來摘除流量是最常見的手段,還可以上下線狀態、權重等方式。

現有開源注冊中心是不是還沒有消息總線這種實現方式?消息總線有沒有開源實現?

現成MQ也可充當消息總線。

消息總棧類似一個隊列,隊列表示是遞增的數字,注冊中心集群的任何一個節點接收到注冊請求,都會把服務提供者信息發給消息總棧,消息總棧會像隊列以先進先出的原則推送消息給所有注冊中心集群節點,集群節點接收到消息后會比較自己內存中的當前版本,保存版本大的,這種方式有很強的實效性,注冊中心集群也可以從消息總棧拉取消息,確保數據AP,個人理解這是為了防止消息未接收到導致個別節點數據不準確,因為服務提供者可以向任意一個節點發送注冊請求,從而降低了單個注冊中心的壓力,而注冊和注冊中心同步是異步的,也解決了集中注冊的壓力,在Zookeeper中,因為Zookeeper注冊集群的強一致性,導致必須所有節點執行完一次同步,才能執行新的同步,這樣導致注冊處理性能降低,從而高I/O操作宕機。

當集中注冊時,消息總棧下發通知給注冊中心集群節點,對于單個節點也會不停的收到更新通知,這里也存在高I/O問題,會不會有宕機?event bus可以改造成主從模式保證高可用。

AP實現中“兩級緩存,注冊中心和消費者的內存緩存,通過異步推拉模式來確保最終一致性的具體實現?

推主要實現callback,拉的動作在客戶端。

消息總線策略怎么保證消息總線全局版本遞增?最簡單的用時間戳。

消息總線構建ap 型注冊中心,不是很理解。是多個注冊中心獨立提供讀寫,他們之間通過消息隊列做數據同步?那么一致性感覺不好保證,比如服務a 先注冊,再反注冊,但是分別發到兩個注冊中心節點,最終同步可能是亂序的哇?一般不會出現這種情況,只有連接斷開后,那需要重新注冊。

消息總線的另一個應用case:配置中心。

責任編輯:武曉燕 來源: JavaEdge
相關推薦

2021-05-15 08:35:22

數據庫CAP模式

2022-12-05 10:20:52

胖AP瘦AP云AP

2023-09-07 23:25:34

微服務服務發現

2022-04-13 07:31:20

CAP定理分布式數據庫

2019-12-24 09:39:06

Kubernetes工具微服務

2022-08-14 07:04:44

微服務架構設計模式

2025-05-28 08:20:00

無線網絡ACAP

2022-06-17 12:05:25

微服務注冊

2021-02-18 22:21:20

ASM服務組件化

2020-10-14 15:37:04

Goconsul接口

2021-09-03 08:50:50

Dubbo服務引用

2021-09-30 08:54:58

prometheus監控遠端服務

2025-10-11 08:34:14

2022-04-26 05:36:42

服務治理模式

2010-04-01 15:15:35

WA2600系列無線A

2021-04-16 11:01:28

ExchangeNSA漏洞

2023-08-03 08:36:30

Service服務架構

2015-12-25 11:00:52

Zookeeper的Python

2020-04-15 22:18:55

架構負載均衡分布式

2021-04-20 17:20:59

SpringColud EurekaNetflix開發
點贊
收藏

51CTO技術棧公眾號

肉色超薄丝袜脚交69xx图片| 国产精品igao激情视频| 国产美女www| 久久久久免费av| 精品国内片67194| 粉嫩虎白女毛片人体| 欧美午夜电影一区二区三区| 国产成人av一区二区三区在线 | 国产超碰91| 欧美日韩一级黄色片| 91精品国产自产在线观看永久∴| 欧美精品一区二区三区很污很色的| 欧美aⅴ在线观看| a毛片在线看免费观看| 97se亚洲国产综合自在线观| 国产在线观看精品| 二区视频在线观看| 女生裸体视频一区二区三区| 亚洲视频一区二区| 中文字幕18页| 亚洲成a人片777777久久| 图片区日韩欧美亚洲| 中文字幕色一区二区| 日韩偷拍自拍| 成人黄色在线网站| 成人午夜小视频| 国产精品21p| 黄色成人精品网站| 日韩中文字幕在线| 成年人网站免费看| 欧美亚洲大陆| 亚洲的天堂在线中文字幕| 看看黄色一级片| 91成人抖音| 一本久久a久久免费精品不卡| 青青视频免费在线观看| 欧美一区二区三区在线观看免费| 久久精品人人做人人爽人人| 激情一区二区三区| 色婷婷av一区二区三区之e本道| 久久成人久久鬼色| 国产精品欧美在线| 最新国产中文字幕| 日韩高清电影一区| 国产精品成久久久久三级| 亚洲精品男人的天堂| 在线 亚洲欧美在线综合一区| 九九久久精品一区| 国产高清在线免费观看| 亚洲香蕉av| 久久91精品国产| 亚洲熟女www一区二区三区| 国产精品毛片久久| 日韩在线视频线视频免费网站| 亚洲第一成人网站| 欧美日韩一区二区三区四区不卡 | 亚洲va在线va天堂va偷拍| 日韩毛片在线| 欧美日韩精品一区二区在线播放| 老司机午夜av| 成人日韩在线观看| 欧美精品在线视频| 亚洲高清av一区二区三区| 成人97精品毛片免费看| 日韩一区二区电影在线| 久久无码人妻一区二区三区| 久久久久久爱| 亚洲精品一线二线三线| 中文字幕免费高清视频| 最近国产精品视频| 在线国产精品播放| 日韩福利小视频| 国产一区亚洲| 欧美一级黄色网| 涩涩视频在线观看| 国产乱码字幕精品高清av| 国产精品久久一区二区三区| 亚洲欧美综合一区二区| 国产亚洲精品bt天堂精选| 神马影院午夜我不卡影院| 欧美高清视频| 亚洲电影在线免费观看| 欧美女人性生活视频| 制服诱惑亚洲| 欧美一卡二卡在线| 无码一区二区精品| 成人在线国产| 色婷婷**av毛片一区| 精品99在线观看| 久久成人在线| 亚洲综合中文字幕68页| 飘雪影视在线观看免费观看 | 成人免费区一区二区三区| 久久久久一区| 51国偷自产一区二区三区的来源| 色视频在线看| 亚洲人xxxx| 国产无套内射久久久国产| 99久久伊人| 亚洲国产成人91精品| 女人黄色一级片| 激情久久综合| 国产在线精品播放| 偷拍自拍在线| 亚洲影视在线播放| 国产免费又粗又猛又爽| 黄色网一区二区| 久久国产一区二区三区| 日韩手机在线视频| 国产iv一区二区三区| 手机成人在线| 精品91久久| 精品乱人伦一区二区三区| 天天躁夜夜躁狠狠是什么心态| 欧美日韩理论| 成人免费大片黄在线播放| 美丽的姑娘在线观看免费动漫| 一区二区三区四区视频精品免费| 蜜臀av午夜一区二区三区| jizz国产精品| 欧美插天视频在线播放| 亚洲无码精品在线播放| 久久久精品2019中文字幕之3| www插插插无码免费视频网站| 国产精品伊人| 亚洲欧美中文另类| 国产精品美女久久久久av爽| 国产成人免费高清| 先锋影音男人资源| 成人国产一区| 一区二区成人精品| 麻豆成人免费视频| 99久久免费视频.com| 女人色极品影院| 视频精品一区| 欧美精品一二区| 国产精品老熟女视频一区二区| 国产免费观看久久| 污污视频网站免费观看| 九九视频精品全部免费播放| 97久久精品国产| 后进极品白嫩翘臀在线视频| 亚洲女与黑人做爰| 国产精品探花在线播放| 国产精品麻豆久久| 92裸体在线视频网站| 岛国成人毛片| 欧美一区二区视频免费观看| 天堂а√在线中文在线鲁大师| 麻豆国产欧美一区二区三区| 午夜免费电影一区在线观看| 黄色成人在线观看网站| 色婷婷综合成人| 亚洲天堂中文在线| 亚洲欧洲色图综合| 国产大学生av| 亚洲福利电影| 欧美日韩另类丝袜其他| 欧美福利在线播放| 综合网中文字幕| 国产精品呻吟久久| 一区二区三区中文在线| 欧类av怡春院| 狂野欧美一区| 亚洲自拍偷拍二区| 日韩精品视频一区二区三区| 色综合久久88| 欧美婷婷久久五月精品三区| 色av成人天堂桃色av| 婷婷丁香综合网| 国产精品一区二区你懂的| 日韩 欧美 视频| 国产伦精品一区二区三区千人斩| 国产精品私拍pans大尺度在线 | 五月激情婷婷在线| 一本精品一区二区三区| 国产精品免费视频一区二区 | 一本一本大道香蕉久在线精品| 波多野吉衣中文字幕| 久久国产视频网| 国产xxxx振车| 欧美手机在线| www.久久草| 免费污视频在线一区| 美女999久久久精品视频| 完全免费av在线播放| 久久婷婷一区二区| 久久先锋资源网| 久久久久久久高清| 国产日韩一区二区三区在线| 亚洲精品日韩精品| 成午夜精品一区二区三区软件| 日本欧美精品在线| a级影片在线观看| 亚洲男人7777| www国产一区| 色素色在线综合| 波多野结衣亚洲色图| 国产亚洲欧美在线| 男女性杂交内射妇女bbwxz| 日韩av不卡在线观看| 草草草视频在线观看| 成人在线免费小视频| 国产精品免费看一区二区三区| 88xx成人网| 午夜美女久久久久爽久久| 中文字幕在线视频区| 日韩电影在线观看中文字幕| av手机免费看| 欧美日韩一区二区三区在线| 精品成人av一区二区在线播放| 亚洲黄色片在线观看| 国产三级黄色片| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 精品一区日韩成人| 国产不卡精品在线| 国产精品第10页| 综合另类专区| 韩国三级电影久久久久久| 国产淫片在线观看| 国产一区二区精品丝袜| 午夜福利视频一区二区| 日韩欧美中文字幕一区| 国产精品-色哟哟| 欧美日韩精品综合在线| 中文字幕精品在线观看| 色av一区二区| 亚洲中文一区二区| 欧美午夜精品久久久久久浪潮| 久久国产露脸精品国产| 亚洲人成精品久久久久| 在线观看黄网址| 中文字幕一区二区日韩精品绯色| 91成人精品一区二区| 国产三级一区二区三区| 亚洲av无码国产精品麻豆天美| 99精品偷自拍| 国产男女猛烈无遮挡a片漫画| 成av人片一区二区| 99久久久无码国产精品性波多 | а√在线中文在线新版| 欧美—级高清免费播放| 牛牛电影国产一区二区| 欧美激情精品久久久久久| 欧美78videosex性欧美| 欧美疯狂xxxx大交乱88av| 中文字幕中文字幕在线中高清免费版| 精品国产一区av| dy888亚洲精品一区二区三区| 久久亚洲成人精品| 91在线中文| 久久久久久亚洲精品不卡| free性m.freesex欧美| 国外视频精品毛片| 国产一二在线播放| 欧美亚洲免费电影| 电影天堂国产精品| 国产精品久久视频| 国产麻豆精品| 国产伦精品一区二区三区高清版 | 日韩国产网站| 国产日本欧美在线观看| 成人在线视频区| av一本久道久久波多野结衣| caoporn成人| 欧美精品一区在线| 日韩电影一区| 欧美日韩dvd| 国产一区二区你懂的| 免费看黄色一级大片| 精品亚洲国产成人av制服丝袜| 自拍一级黄色片| 91香蕉视频在线| 任你操精品视频| 亚洲国产一区二区三区| 少妇高潮av久久久久久| 欧美军同video69gay| 丰满岳乱妇国产精品一区| 亚洲女人被黑人巨大进入al| 91在线观看| 欧美大片免费看| 亚洲四虎影院| 成人在线看片| 国产乱码精品一区二区亚洲 | 欧美亚洲一区| 一区二区久久精品| 91影院在线观看| frxxee中国xxx麻豆hd| 亚洲国产精品一区二区www在线| 高清乱码免费看污| 日韩欧美一区二区视频| 久久久资源网| 欧美激情国产精品| 国产91在线播放精品| 国产视频99| 欧美一区国产在线| 美女喷白浆视频| 99久久婷婷国产综合精品电影| 一级性生活免费视频| 欧美性高跟鞋xxxxhd| 99久久国产免费| 中文字幕av一区| 极品在线视频| 亚洲va码欧洲m码| 欧美日韩精品在线一区| www.日本在线播放| 国产一区美女在线| 日韩女同一区二区三区| 精品国产999| 国产福利第一页| www国产亚洲精品久久网站| 波多视频一区| 国产精品一区二区三区在线观| 天天色综合色| 久久久精品麻豆| 久久综合色8888| 日韩av电影网| 欧美α欧美αv大片| 国产激情小视频在线| 国产精品久久久久7777婷婷| 亚洲国产网址| 久在线观看视频| 99这里只有精品| 久久高清免费视频| 日韩精品一区二| 中文字幕中文字幕在线十八区 | 欧美综合精品| 亚洲国产精品无码观看久久| 国内精品自线一区二区三区视频| 久久亚洲AV无码专区成人国产| 午夜欧美大尺度福利影院在线看| 国产v片在线观看| 久久夜色精品亚洲噜噜国产mv | 午夜亚洲性色视频| bl动漫在线观看| 五月婷婷久久综合| 人妻偷人精品一区二区三区| 久久91超碰青草是什么| 日韩成人久久| 69精品丰满人妻无码视频a片| 紧缚奴在线一区二区三区| 中文字幕91视频| 欧美精选午夜久久久乱码6080| 在线观看免费网站黄| 国产精品丝袜视频| 91成人观看| 手机看片国产精品| 亚洲福利一区二区| 日韩一级中文字幕| 欧美在线视频播放| 国产九一精品| 九九热免费在线观看| 亚洲视频在线一区观看| 亚洲AV无码成人片在线观看 | 成人一区二区三区视频在线观看 | 午夜免费视频在线国产| 91精品久久久久久| 欧美私人啪啪vps| 又黄又爽的网站| 一本一道久久a久久精品| 成年人视频网站在线| 国产精品偷伦视频免费观看国产 | 96亚洲精品久久久蜜桃| 久久精品中文字幕电影| 视频欧美一区| 99视频在线免费播放| 国产女同互慰高潮91漫画| 91丨九色丨蝌蚪丨对白| 久久99国产精品久久久久久久久| 波多野结衣欧美| 日本精品一区二区三区四区| 中文字幕在线观看不卡| 亚洲国产精品久久久久久久 | 视频欧美精品| 97超碰人人澡| 国产精品久线观看视频| 亚洲av综合色区无码一二三区| 6080yy精品一区二区三区| 日韩av在线播放网址| 丰满少妇中文字幕| 欧美性精品220| 大地资源网3页在线观看| 国产区二精品视| 久久99国产精品免费网站| 日韩精品成人一区| 色偷偷9999www| 欧美天堂社区| 亚洲一区二区三区四区精品| 亚洲18女电影在线观看| av影片在线看| 国产私拍一区| 精品一区二区综合| 日韩精品在线免费看| www.午夜精品| 亚洲涩涩av| 极品白嫩少妇无套内谢| 色网综合在线观看| 日本大片在线播放| 夜夜爽www精品| 91麻豆视频网站|