consul是hashicorp公司推出的開源工具,consul由go語言開發,部署起來非常容易,只需要極少的可執行程式和配置檔案,具有綠色、輕量級的特點。consul是分布式的、高可用的、 可橫向擴充套件的用於實現分布式系統的服務發現與配置。
consul的應用場景包括服務發現、服務隔離、服務配置:
這裡我們採用docker形式安裝:
# 拉取映象
docker pull consul
# 建立容器
docker run --name consul -d -p 8500:8500 -p 8600:8600/udp consul
新建consul-client模組 新增相關依賴:
1.8
utf-8
utf-8
2.3.0.release
hoxton.sr4
org.springframework.cloud
spring-cloud-dependencies
$pom
import
org.springframework.boot
spring-boot-dependencies
$pom
import
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-consul-discovery
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-test
test
server:
# 指定執行埠
port: 8800
spring:
# 指定服務名稱
name: consul-client
cloud:
consul:
# 配置服務ip
host: 192.168.205.10
# 配置埠
port: 8500
discovery:
# 註冊時使用ip而不是hostname
prefer-ip-address: true
management:
endpoint:
health:
# 顯示應用健康資訊
show-details: always
endpoints:
web:
exposure:
include: "*"
在啟動類上新增@enablediscoveryclient註解
@enablediscoveryclient
public static void main(string args)
}
啟動應用,訪問控制台是否註冊成功
consul服務註冊
這是定義服務的根級引數。您可以指定引數來配置服務。範圍描述 預設必需的 id 指定服務 id 的字串值。如果未指定,name將使用該字段的值。每個節點的服務必須具有唯一的 id,因此如果預設值name會與其他服務衝突,您應該指定唯一的值。name引數值 可選的name 指定服務的名稱。如果id未指定...
Consul服務註冊中心 Consul工作原理
consul工作原理如下圖所示 當服務producer啟動時,會將自己的ip host等資訊通過傳送請求告知consul,consul接收到producer的註冊資訊後,每個10s 預設 會向producer傳送乙個健康檢查的請求,檢驗producer是否監控。當consumer請求producer...
微服務 Consul(服務註冊發現)
類似dns伺服器會根據我們的網域名稱解析出乙個ip位址,然後去請求這個ip來獲取我們想要的資料,它可以讓我們只需說我想要什麼服務即可,而不必去關心服務提供者的具體網路位置 ip 位址 埠等 目前,服務發現主要分為兩種模式,客戶端模式與服務端模式 在客戶端模式下,首先要到服務註冊中心獲取服務列表,然後...