consul 簡化了分布式環境中的服務的注冊和發現流程,通過 http 或者 dns 接口發現。
有了很多實用的功能。
一緻性協定采用 raft 算法,來保證服務的高可用。
在centos下面直接解壓縮安裝即可。
下載下傳位址:
<a href="https://www.consul.io/downloads.html">https://www.consul.io/downloads.html</a>
解壓縮發現就有一個檔案。沒有配置。連個readme也沒有。
我的機器使用virtualbox安裝的centos。是以需要修改ip。啟動指令:
-dev 參數表示開發
-ui 參數表示打開ui,否則看不到ui界面。
-node 參數表示給這個節點增加一個名稱
-client 參數表示綁定 ip 10.0.2.15 ,保證通過virtualbox端口轉發成功。
然後就可以在本機通路ui界面了。
通過 virtualbox的端口轉發就可以看到 node 名稱為 consul-dev的節點了。
使用consul 指令:
<a href="https://www.consul.io/docs/commands/index.html">https://www.consul.io/docs/commands/index.html</a>
操作kv 指令:usage: consul kv
因為伺服器ip 修改了所有在consul中可以使用環境變量告訴consul指令行。
說明資料增加成功:也可以直接在指令行中檢視到了。
也可以直接通過指令行進行查詢:
其他接口api:
<a href="https://www.consul.io/docs/agent/http.html">https://www.consul.io/docs/agent/http.html</a>
還可以使用用戶端直接調用伺服器。其實也就是封裝了下http服務。
寫代碼比使用curl要友善很多。
<a href="https://www.consul.io/downloads_tools.html">https://www.consul.io/downloads_tools.html</a>
可以使用很多用戶端進行調用。api其實都是一樣的。
總結下了,體驗了下一個單機版本的consul服務。
隻是看了下ui界面,增加了一個kev,value存儲。
下載下傳一個java 或者是golang的用戶端再進行研究下。
就可以了解更多服務發現的東東了。因為有了一個簡單的管理界面。
感覺上比etcd要簡單友善點。還沒有研究到更深入的dns服務發現呢。
繼續研究。