consul

簡介

功能簡介

consul提供的服務主要包括服務發現、健康檢查、kv存儲、集羣管理、跨數據中心。

服務發現

服務發現本質就是個名字服務。就像共享內存,只要shmkey知道了,所有的進程都能夠訪問這塊內存的值。通過DNS和HTTP接口使用“服務發現”功能。

健康檢查

健康檢查,故名思議就是定期的去檢查機器或者服務的當前狀態。consul提供了一條簡約而不簡單的路子,那就是通過定期運行腳本去檢查。腳本可以是由用戶自定義的任意shell腳本,但是原理都是根據腳本的返回值去判斷機器或服務是否健康,只有腳本返回值爲0時才代表健康。

key/value存儲

爲了服務周到,consul還提供了key/value存儲功能。並且邏輯存儲的方式和mongodb差求不多,是一種層次化的邏輯存儲。例如mongodb的key格式可以爲country.province.city,對應的consul的key格式則爲country/province/city。通過HTTP接口使用“數據庫”功能。

多數據中心

consul不僅能夠在同一個局域網內構成集羣,集羣與集羣之間還能夠跨網段。集羣內或者集羣之間都是通過gossip協議來監控節點健康狀態的,節點與節點之間其他業務都是通過RPC。

web ui

web ui是consul的管理服務,提供一個可視化管理consul功能的界面,訪問方式也是HTTP。

架構簡介

這裏寫圖片描述
client:客戶端,無狀態, 將 HTTP 和 DNS 接口請求轉發給局域網內的服務端集羣。
server:服務端, 保存配置信息, 高可用集羣, 在局域網內與本地客戶端通訊,通過廣域網與其他數據中心通訊。每個數據中心的 server 數量推薦爲 3 個或是 5 個。

發佈了31 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章