天天看點

服務發現和注冊----consul-01

consul

  • 單機版 - linux
    • 下載下傳:wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip
    • style="line-height: 24px;">解壓:unzip consul_1.3.0_linux_amd64.zip -d /usr/local
    • 添加環境變量 vi /etc/profile
      • export CONSUL_HOME=/usr/local/bin/consul
      • export PATH=$PATH:CONSUL_HOME
      • 退出儲存, source /etc/profile 使修改生效
    • 驗證: consul version,顯示版本
      • 如下,則正常
        服務發現和注冊----consul-01
    • 開發端口或者關閉防火牆
      • 讓防火牆開放端口;
        • 可以使用firewall-cmd --zone=public --add-port=8500/tcp --permanent,然後firewall-cmd --reload 使其生效;
        • 也可以用iptables,vi /etc/sysconfig/iptables,添加 A INPUT -m state –state NEW -m tcp -p tcp –dport 8500 -j ACCEPT,儲存退出,重新開機 service iptables restart
    • 啟動:
      • 如果,你隻是用consul單機作為服務,開啟服務端即可;
      • 啟動服務端:
        • consul agent -server -client=0.0.0.0 -bind=192.168.1.4 -bootstrap-expect=3 -bootstrap -ui -data-dir=/usr/local/consuldata -node=consul_study > /dev/null 2>&1 &
        • > /dev/null 2>&1 &  表示把該指令設定為背景啟動,防止終端關閉,consul退出,也可以不加
        • -node 表示節點在web ui中顯示的名稱
        • -data-dir 表示指定資料的存放目錄(該目錄必須存在)
        • -bootstrap-expect=3 表示server叢集最低節點數為3,低于這個值将工作不正常(注:類似zookeeper一樣,通常叢集數為奇數,友善選舉,consul采用的是raft算法)
        • -client 指定用戶端通路的ip(consul有豐富的api接口,這裡的用戶端指浏覽器或調用方),0.0.0.0表示不限用戶端ip
        • -bind 表示綁定到哪個ip(有些伺服器會綁定多塊網卡,可以通過bind參數強制指定綁定的ip),就是consul 運作的機器,作為伺服器
        • -server 表示以服務端身份啟動
      • 開啟用戶端:
        • 如果隻是作為單機使用,可以不開啟
        • consul agent -client=0.0.0.0 -data-dir=/data/application/consul_data/ -node=client1 -ui > /dev/null 2>&1 &
    • 驗證開啟是否成功:
    • 如果開啟失敗,首先驗證你的服務是否可以通路:
      • 驗證端口是否開放: 預設端口為8500
        • 在windows 下,指令行中,使用telnet xxxx 8500
          服務發現和注冊----consul-01
        • 顯示,如下,則正常
          服務發現和注冊----consul-01
    • 總結問題: