部落格399 etcd的應用場景

2021-10-10 03:20:28 字數 1177 閱讀 8171

內容:記錄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匯報心跳資訊,代表節點仍然存活,否則代表節點宕機

Etcd 與Redis 業務應用場景差異

1.豐富的資料型別 string,hash,set zset,list 等 2.讀寫效能優異 3.單執行緒原子性 4.可持久化 aof rdb 5.支援pub sub 訂閱發布模式 高可用方案 哨兵機制 分布式一致性 redis主從為非同步複製模式,一致性無法保證 多節點資料一致性強依賴網路延遲 主...

SAP BTP MTA 應用的應用場景

程式語言 軟體設計架構 如微服務 協議 如 odata 的最新趨勢和進展,以及多層和分布式部署平台的多樣性,加速了由更多 更小 解耦和多樣化的模組構建應用程式的趨勢。在微服務架構下,越來越多的業務應用程式傾向於由使用不同語言和技術開發並部署到各種目標執行時環境的多個部分組成。這種應用程式模組的多樣性...

Hadoop的應用場景

其實我們要知道大資料的實質特性 針對增量中海量的結構化,非結構化,半結構資料,在這種情況下,如何快速反覆計算挖掘出高效益的市場資料?帶著這個問題滲透到業務中去分析,就知道hadoop需要應用到什麼業務場景了!如果關係型資料庫都能應付的工作還需要hadoop嗎?比如1.銀行的信用卡業務,當你正在刷卡完...