【部落格399】etcd的應用場景
內容:記錄etcd的應用場景學習
etcd最常用於構建:高可用中心
etcd的特點:
1、簡單:基於http+json的api,用curl命令就可以使用
2、安全:可選擇ssl安全認證機制
3、快速:每個例項可以支援每秒1000次寫操作
4、可信:基於raft演算法,實現了分散式
etcd應用場景:
1、服務發現:
使得同一個部分是叢集中的程式或者服務能夠互相感知,並發現彼此,建立連線。
# 需要的條件:
一個強一致性,高可用的服務儲存目錄
一種註冊和健康服務狀態的機制
一種查詢和連線服務的機制
# 如何使用etcd來做服務實現:
在etcd中註冊某個服務的名字的目錄,該目錄下儲存可用的後端節點;需要呼叫服務的呼叫方查詢
該目錄下的節點資訊,就可以呼叫服務
2、訊息釋出與訂閱:
利用etcd來儲存訊息,並且需要訂閱的物件可以通過etcd的watch機制來訂閱內容
3、負載均衡:
將叢集需要維護的資訊儲存在etcd中,使得需要讀取時可以對多個etcd節點發起讀請求,
使得流量被均攤到多個etcd節點上,進而負載均衡,避免單節點流量過大
4、分散式通知與協調:
通過在目錄中進行註冊需要通知的資訊,被通知物件使用watch機制來獲取通知
#比如:
利用etcd做低耦合的心跳檢測
通過etcd完成任務排程
通過etcd完成任務彙報
5、分散式鎖與競選:
#鎖與競選有兩種模式:保持獨佔和控制時序
保持獨佔:etcd提供了CAS的api,可以保證多個節點同時建立目錄時,只有一個成功,即相當於
只有一個能獲得鎖
控制時序:etcd提供了時序api,使用api時,會對客戶端生成時序編號,進而使得客戶端按照
時序編號進行排隊
6、叢集健康監控
通過watch某目錄,當節點消失或者變更時,watch機制會第一時間通知你。節點設定ttl key,
每30秒需要與etcd彙報心跳資訊,代表節點仍然存活,否則代表節點當機
相關文章
- 002.etcd使用場景
- 【部落格383】etcd儲存結構
- Numpy的應用場景
- FRAM的應用場景
- SAP BTP MTA 應用的應用場景
- 2 – 建立 Django 部落格應用Django
- 理解 Fragment 的應用場景Fragment
- LINQ SelectMany的應用場景
- 3.4 應用場景
- DDD應用場景
- ES 應用場景
- snapshot應用場景
- Zookeeper應用場景
- BFC的概念與應用場景
- iOS CALayer anchorPoint 的應用場景iOS
- ThottleStop 軟體的應用場景
- canvas的應用場景有哪些?Canvas
- Docker 的應用場景在哪裡Docker
- 商品API的應用場景分析API
- openGauss MOT應用場景
- openGauss-應用場景
- Nginx應用場景配置Nginx
- 場景實踐:使用RDS和ECS搭建個人部落格
- GAN的五個神奇應用場景
- MQMQ的快速入門+應用場景MQ
- java中ThreadLocal的應用場景分析Javathread
- 【分散式】Zookeeper應用場景分散式
- zookeeper使用(四)--應用場景
- 從應用場景看棧
- 閉包及其應用場景
- PON網路應用場景
- 7.3 應用場景簡介
- Redis 應用場景彙總Redis
- nodejs實際應用場景NodeJS
- Redis常見應用場景Redis
- 人工智慧應用場景人工智慧
- 用React實現一個簡易的markdown部落格應用React
- 第一章 建立部落格應用