您好,登錄后才能下訂單哦!
怎么在SpringCloud中利用Consul實現(xiàn)一個注冊中心功能?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
簡介:
Consul 是一套開源的分布式服務(wù)發(fā)現(xiàn)和配置管理系統(tǒng),由 HashiCorp 公司用 Go 語言開發(fā)。
Consul 支持健康檢查,并允許 HTTP 和 DNS 協(xié)議調(diào)用 API 存儲鍵值對.
命令行超級好用的虛擬機(jī)管理軟件 vgrant 也是 HashiCorp 公司開發(fā)的產(chǎn)品.
一致性協(xié)議采用 Raft 算法,用來保證服務(wù)的高可用. 使用 GOSSIP 協(xié)議管理成員和廣播消息, 并且支持 ,
Consul 提供了微服務(wù)中服務(wù)注冊發(fā)現(xiàn)注冊,微服務(wù)中的分布式配置中心,可以單獨使用,也可以一塊使用
ACL 訪問控制.
Consul 的使用場景
docker 實例的注冊與配置共享
coreos 實例的注冊與配置共享
vitess 集群
SaaS 應(yīng)用的配置共享
與 confd 服務(wù)集成,動態(tài)生成 nginx 和 haproxy 配置文件
Consul 的優(yōu)勢
使用 Raft 算法來保證一致性, 比復(fù)雜的 Paxos 算法更直接. 相比較而言, zookeeper 采用的是 Paxos, 而 etcd 使用的則是 Raft.
支持多數(shù)據(jù)中心,內(nèi)外網(wǎng)的服務(wù)采用不同的端口進(jìn)行監(jiān)聽。 多數(shù)據(jù)中心集群可以避免單數(shù)據(jù)中心的單點故障,而其部署則需要考慮網(wǎng)絡(luò)延遲, 分片等情況等. zookeeper 和 etcd 均不提供多數(shù)據(jù)中心功能的支持.
支持健康檢查. etcd 不提供此功能.
支持 http 和 dns 協(xié)議接口. zookeeper 的集成較為復(fù)雜, etcd 只支持 http 協(xié)議.
官方提供web管理界面, etcd 無此功能.
綜合比較, Consul 作為服務(wù)注冊和配置管理的新星, 比較值得關(guān)注和研究.
Consul 的角色
client: 客戶端, 無狀態(tài), 將 HTTP 和 DNS 接口請求轉(zhuǎn)發(fā)給局域網(wǎng)內(nèi)的服務(wù)端集群.
server: 服務(wù)端, 保存配置信息, 高可用集群, 在局域網(wǎng)內(nèi)與本地客戶端通訊, 通過廣域網(wǎng)與其他數(shù)據(jù)中心通訊. 每個數(shù)據(jù)中心的 server 數(shù)量推薦為 3 個或是 5 個.
安裝 Consul:——》官網(wǎng)下載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
當(dāng)然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}
關(guān)于怎么在SpringCloud中利用Consul實現(xiàn)一個注冊中心功能問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。