consul的簡介及安裝

大雄45發表於2021-07-15
導讀 consul提供了服務註冊與發現框 架、分佈一致性協議實現、健康檢查、KV儲存、多資料中心方案等功能。

consul的簡介及安裝consul的簡介及安裝

簡介

consul提供了服務註冊與發現框 架、分佈一致性協議實現、健康檢查、KV儲存、多資料中心方案等功能。

  • 一致性:採用的是RAFT演算法保證分散式節點的一致性。
  • 服務發現:採用http和dns協議。
  • 服務註冊:1、透過http API,由服務自己呼叫API實現註冊,2、透過JSON配置檔案實現註冊,將需要註冊的服務以JSON格式的配置檔案給出。
  • 服務間的通訊協議:使用gossip協議管理成員關係、廣播訊息到整個叢集
角色

1、client

客戶端模式:將所有註冊到當前節點的服務會被轉發到server,自己是不持久化資料。

2、server

server模式:功能和客戶端模式一樣,不同的是會把所有的資訊持久化的本地。

3、server-leader

server leader模式:其它server的領導者,和其它server不一樣的是需要負責同步註冊的資訊給其它的server,同時也要負責各個節點的健康監測。

安裝

 上可以直接使用yum進行安裝

sudo yum install -y yum-utils 
sudo yum-config-manager --add-repo 
sudo yum -y install consul

也可以直接下載二進位制包,解壓就可以直接使用。

tar zxvf consul_1.9.6_linux_amd64.zip  -C /usr/local/bin/

啟動服務(單節點)

nohup consul  agent -server -data-dir=/data/consul-data/  -node=node1 -bind=0.0.0.0 -bootstrap-expect=1 -client=0.0.0.0 -ui > /data/consul-data/consul.log  &
  • –server 指定server agent
  • –data-dir l資料儲存路徑
  • –bootstrap-expect 期望的server節點數目,consul一直等到指定sever數目才會引導整個叢集
  • –bind:該地址用來在叢集內部的通訊,叢集內的所有節點到地址都必須是可達的,預設是0.0.0.0
  • –node:節點在叢集中的名稱,在一個叢集中必須是唯一的,預設是該節點的主機名
  • –ui: web的管理ui,檢視服務和節點,可以透過訪問:8500埠要訪問UI
  • –client:提供HTTP、DNS、RPC等服務,預設是127.0.0.1,不對外提供服務,如果需要則改成0.0.0.0
單節點擴容
nohup consul agent -bind=0.0.0.0 -client=0.0.0.0 -data-dir=/data/consul-data/ -node=node2 -join=192.168.122.100 > /data/consul-data/consul.log 2>&1 &

192.168.122.100就是剛才那臺伺服器的IP

總結

consul部署很方便,可以試試。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2781491/,如需轉載,請註明出處,否則將追究法律責任。

相關文章