dev儲存資料庫
dev 模式是不進行資料儲存的,線上環境需要開啟可儲存資料的模式,非dev模式的單節點命令示例如下:
nohup ./consul-service/consul agent -server -bootstrap-expect 1 -data-dir ./consul-service/data -config-dir=./consul-service/config -client=0.0.0.0 -ui >./consul-service/consul.out&
簡單解釋下主要引數:
server : 定義 agent 執行在 server 模式。
bootstrap-expect :在一個 datacenter 中期望提供的 server 節點數目,當該值提供的時候,consul 一直等到達到指定 server 數目的時候才會引導整個叢集,該標記不能和 bootstrap 共用。
bind:該地址用來在叢集內部的通訊,叢集內的所有節點到地址都必須是可達的,預設是 0.0.0.0。
data-dir:資料儲存目錄。
config-dir:配置目錄。
client:Consul 服務偵聽地址,這個地址提供 HTTP、DNS、RPC 等服務,預設是 127.0.0.1 所以不對外提供服務,如果你要對外提供服務改成 0.0.0.0。
ui:啟動 Web 管理頁面
3.3 叢集執行
第一臺機器 IP 為 172.17.0.3,3 臺機器分別執行,均啟動 ui:
consul agent -server -bootstrap-expect 3 -ui -node=node1 -client 0.0.0.0
consul agent -server -bootstrap-expect 3 -ui -node=node2 -client 0.0.0.0 -join 172.17.0.3
consul agent -server -bootstrap-expect 3 -ui -node=node3 -client 0.0.0.0 -join 172.17.0.3
此時三臺機器上的資料會進行同步,如果需要保障客戶端訪問叢集的可靠性,需要在中間加一層 nginx 或其他負載,配置方式此處略。