詳解SpringCloud使用Consul做注冊(cè)中心
簡介:
Consul 是一套開源的分布式服務(wù)發(fā)現(xiàn)和配置管理系統(tǒng),由 HashiCorp 公司用 Go 語言開發(fā)。
Consul 支持健康檢查,并允許 HTTP 和 DNS 協(xié)議調(diào)用 API 存儲(chǔ)鍵值對(duì).
命令行超級(jí)好用的虛擬機(jī)管理軟件 vgrant 也是 HashiCorp 公司開發(fā)的產(chǎn)品.
一致性協(xié)議采用 Raft 算法,用來保證服務(wù)的高可用. 使用 GOSSIP 協(xié)議管理成員和廣播消息, 并且支持 ,
Consul 提供了微服務(wù)中服務(wù)注冊(cè)發(fā)現(xiàn)注冊(cè),微服務(wù)中的分布式配置中心,可以單獨(dú)使用,也可以一塊使用
ACL 訪問控制.
Consul 的使用場景
docker 實(shí)例的注冊(cè)與配置共享
coreos 實(shí)例的注冊(cè)與配置共享
vitess 集群
SaaS 應(yīng)用的配置共享
與 confd 服務(wù)集成,動(dòng)態(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ù)中心的單點(diǎn)故障,而其部署則需要考慮網(wǎng)絡(luò)延遲, 分片等情況等. zookeeper 和 etcd 均不提供多數(shù)據(jù)中心功能的支持.
支持健康檢查. etcd 不提供此功能.
支持 http 和 dns 協(xié)議接口. zookeeper 的集成較為復(fù)雜, etcd 只支持 http 協(xié)議.
官方提供web管理界面, etcd 無此功能.
綜合比較, Consul 作為服務(wù)注冊(cè)和配置管理的新星, 比較值得關(guān)注和研究.
Consul 的角色
client: 客戶端, 無狀態(tài), 將 HTTP 和 DNS 接口請(qǐng)求轉(zhuǎn)發(fā)給局域網(wǎng)內(nèi)的服務(wù)端集群.
server: 服務(wù)端, 保存配置信息, 高可用集群, 在局域網(wǎng)內(nèi)與本地客戶端通訊, 通過廣域網(wǎng)與其他數(shù)據(jù)中心通訊. 每個(gè)數(shù)據(jù)中心的 server 數(shù)量推薦為 3 個(gè)或是 5 個(gè).
安裝 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的也可以 我下載的最新的

加壓文件夾

解壓完就一個(gè).exe文件

啟動(dòng):
在此文件夾下,打開cmd命令 輸入consul agent -dev
打開頁面訪問即可

搭建項(xiàng)目
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}
配置后啟動(dòng)項(xiàng)目
服務(wù)已經(jīng)注冊(cè)到Consul 當(dāng)然Consul也可以做配置中心

到此這篇關(guān)于SpringCloud使用Consul做注冊(cè)中心的文章就介紹到這了,更多相關(guān)SpringCloud注冊(cè)中心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringCloud通過Nacos實(shí)現(xiàn)注冊(cè)中心與遠(yuǎn)程服務(wù)調(diào)用詳解流程
- SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心的方法
- Java之SpringCloud nocos注冊(cè)中心講解
- SpringCloud使用Zookeeper作為注冊(cè)中心
- 5分鐘搭建SpringCloud Eureka服務(wù)注冊(cè)中心的實(shí)現(xiàn)
- Springcloud-nacos實(shí)現(xiàn)配置和注冊(cè)中心的方法
- springcloud實(shí)現(xiàn)注冊(cè)中心Eureka
- SpringCloud注冊(cè)中心之consul詳細(xì)講解使用方法
相關(guān)文章
解決Springboot2.1.x配置Activiti7單獨(dú)數(shù)據(jù)源問題
這篇文章主要介紹了Springboot2.1.x配置Activiti7單獨(dú)數(shù)據(jù)源問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Java利用線程工廠監(jiān)控線程池的實(shí)現(xiàn)示例
這篇文章主要介紹了Java利用線程工廠監(jiān)控線程池的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SpringBoot3.x集成nacos并實(shí)現(xiàn)多環(huán)境配置的操作步驟
本文詳細(xì)介紹了如何在Springboot3.x中集成Nacos2.x版本,包括nacos的安裝、配置更改,以及在集成過程中遇到的問題,如端口設(shè)置、依賴版本調(diào)整等,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
基于web項(xiàng)目log日志指定輸出文件位置配置方法
下面小編就為大家分享一篇基于web項(xiàng)目log日志指定輸出文件位置配置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04

