簡介:
Consul 是一套開源的分布式服務發現和配置管理系統,由 HashiCorp 公司用 Go 語言開發,
Consul 支持健康檢查,并允許 HTTP 和 DNS 協議呼叫 API 存盤鍵值對.
命令列超級好用的虛擬機管理軟體 vgrant 也是 HashiCorp 公司開發的產品.
一致性協議采用 Raft 演算法,用來保證服務的高可用. 使用 GOSSIP 協議管理成員和廣播訊息, 并且支持 ,
Consul 提供了微服務中服務注冊發現注冊,微服務中的分布式配置中心,可以單獨使用,也可以一塊使用
ACL 訪問控制.
Consul 的使用場景
docker 實體的注冊與配置共享
coreos 實體的注冊與配置共享
vitess 集群
SaaS 應用的配置共享
與 confd 服務集成,動態生成 nginx 和 haproxy 組態檔
Consul 的優勢
使用 Raft 演算法來保證一致性, 比復雜的 Paxos 演算法更直接. 相比較而言, zookeeper 采用的是 Paxos, 而 etcd 使用的則是 Raft.
支持多資料中心,內外網的服務采用不同的埠進行監聽, 多資料中心集群可以避免單資料中心的單點故障,而其部署則需要考慮網路延遲, 分片等情況等. zookeeper 和 etcd 均不提供多資料中心功能的支持.
支持健康檢查. etcd 不提供此功能.
支持 http 和 dns 協議介面. zookeeper 的集成較為復雜, etcd 只支持 http 協議.
官方提供web管理界面, etcd 無此功能.
綜合比較, Consul 作為服務注冊和配置管理的新星, 比較值得關注和研究.
Consul 的角色
client: 客戶端, 無狀態, 將 HTTP 和 DNS 介面請求轉發給局域網內的服務端集群.
server: 服務端, 保存配置資訊, 高可用集群, 在局域網內與本地客戶端通訊, 通過廣域網與其他資料中心通訊. 每個資料中心的 server 數量推薦為 3 個或是 5 個.
安裝 Consul:——》官網下載https://www.consul.io/downloads
mac os x:
brew cask install consul
Linux 64bit:
wget https://dl.bintray.com/mitchellh/consul/0.4.1_linux_amd64.zip
unzip 0.4.1_linux_amd64.zip
sudo mv consul /bin
當然win的也可以 我下載的最新的

加壓檔案夾

解壓完就一個.exe檔案

啟動:
在此檔案夾下,打開cmd命令 輸入consul agent -dev
打開頁面訪問即可

搭建專案
pom依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
組態檔 :yml
server:
port: 8083
spring:
application:
name: cloud-consul-provider
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
配置后啟動專案
服務已經注冊到Consul 當然Consul也可以做配置中心

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/205422.html
標籤:java
