consul的優點:
1.使用了go語言編寫在并發方面比java語言性能都要優秀
2.友善部署,因為安裝包裡面隻有一個可執行檔案
3.基于raft算法(比zookper的實作的算法更容易了解)

consul角色,根據啟動指令
Consul啟動指令三種
-dev (開發模式)
./consul agent -dev
-client (部署到正式環境指令)用戶端角色
./consul agent -client
-server (叢集)服務端角色
./consul agent -server
叢集一般是3~5個,推薦是奇數台的伺服器,規定挂掉叢集數量大于等于一半叢集不可用,用三台和用4台的效果是一樣的,叢集過多同步時間就會變成長是以不推薦
提供者向consul注冊服務,consul定時請求服務者檢視健康狀态,如果不健康了就剔除服務清單(/health)
消費者請求consul取出自己所需的服務,temptable是一個表格形式的文檔
Consumer拿到注冊的id去提供者取自己所需要的服務。
叢集模式
Consul分為兩個區域,用戶端client和服務端server,consul一台挂掉會有從成為主,client隻是做請求觸發,占用的資源很少
叢集的搭建
服務端的啟動
-bind
是自己的服務位址
-client
是放行所有服務
-ui
是可以在8500的界面上可以顯示
bootatrap-expect
是叢集的數量
-data-dir
資料存儲位址
用戶端的啟動
叢集的關聯
./consul join 192.168.10.101
(把其他的consul服務添加到101的consul服務中,101的為主)
用戶端也要做同樣的操作
查詢
./consul/members