服務註冊之Consul

2022-03-08 04:24:12 字數 1914 閱讀 8082

consulhashicorp公司推出的開源工具,consulgo語言開發,部署起來非常容易,只需要極少的可執行程式和配置檔案,具有綠色、輕量級的特點。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 位址 埠等 目前,服務發現主要分為兩種模式,客戶端模式與服務端模式 在客戶端模式下,首先要到服務註冊中心獲取服務列表,然後...