基於滴滴雲伺服器搭建 Consul 叢集

java06051515發表於2018-12-14

前言

Consul 是什麼

Consul 是用 Go 開發的分散式服務協調管理的工具,它提供了服務發現,健康檢查,Key/Value 儲存等功能,並且支援跨資料中心的功能。

Consul 基本概念

  • Agent 組成 Consul 叢集的每個成員上都要執行一個 Agent,可以透過 Consul Agent 命令來啟動。Agent 可以執行在 Server 狀態或者 Client 狀態。


  • Client 就是客戶端模式。是 Consul 節點的一種模式,這種模式下,所有註冊到當前節點的服務會被轉發到 Server,本身是不持久化這些資訊。

  • Server 就是服務端模式,這種模式下,功能和 Client 都一樣,唯一不同的是,它會把所有的資訊進行持久化。

準備環境

Consul 叢集是基於 滴滴雲 虛擬機器搭建 滴滴雲  。

滴滴雲 伺服器 (DC2): 安全可靠,擁有極高的價效比高,為開發者的需求而設計。適合大中小型使用者購買使用。

彈性公網 IP (EIP): 計費靈活,適配各類應用架構。可以滿足使用者各類應用場景需求。

安裝過程

登入機器

滴滴雲 平臺上選擇三臺 Centos7.3 機器,選擇 DC2 預設賬戶 dc2-user,使用 SSH 登入方式分別登入三臺雲主機:

由於搭建叢集時需要 root 許可權,切換到 root 賬戶:

  sudo   - i

建立 Consul 資料目錄

  mkdir   - p   / usr / local / consul / data

下載 Consul

進入  /usr/local/consul  目錄,Consule 官網下載地址,選擇 Linux 平臺:

  cd   / usr / local / consul

  sudo  wget  https : //releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip

解壓

  unzip  consul_1 . 4.0_linux_amd64.zip

驗證安裝

使用 Consul 命令驗證:

啟動 Consul Server

在第一臺 Server上啟動:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n1   - bind = { ip1 }   - client = 0.0.0.0   &

啟動後,檢視 members:

在第二臺 Server 上啟動:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n2   - bind = { ip2 }   - client = 0.0.0.0   &

啟動後,檢視 members:

在第三臺 Server 上啟動:

  . / consul  agent   - server   - ui   - bootstrap - expect   2   - data - dir = data   - node = n3   - bind = { ip3 }   - client = 0.0.0.0   &

啟動後,檢視當前 members:

此時,三臺 Server 都是獨立的機器,下一步就是將三臺機器連線成叢集。

連線叢集

第二臺機器上分別連線第一臺機器:

  . / consul   join   -- http - addr   { ip1 } : 8500   { ip2 }

第三臺機器上連線第一臺機器:

  . / consul   join   -- http - addr   { ip1 } : 8500   { ip2 }

檢視叢集

檢視叢集 Leader

可在任意一節點上執行:

檢視叢集 Peers

可在任意一節點上執行:

附錄

Consul 命令列

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

相關文章