服務註冊中心之Consul使用
阿新 • • 發佈:2021-10-15
一、什麼是Consul?
Consul是一套開源的分散式服務發現與配置管理系統,由hashiCorp公司使用go語言開發。它提供了微服務系統中的服務治理、配置中心、控制匯流排等功能,同時支援健康檢查、跨平臺、跨資料中心wlan叢集等。這些功能可以單獨使用,也可以一起使用,它提供了一套完整的服務解決方案。
二、Consul安裝
訪問https://www.consul.io/downloads下載相應的版本,windows版本下載後只有一個Consul.exe檔案,雙擊即可執行,也可以使用開發模式啟動(consul agent -dev),啟動成功後訪問http://localhost:8500,會顯示一個web控制介面。
三、服務提供者註冊到Consul
1、與zookeeper、eureka服務註冊方式一樣,服務提供者要想註冊到Consul控制中心,需要引入spring-cloud-starter-consul-discovery元件包
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-cqhsul-discovery</artifactId> </dependency>
2、編輯application.yml配置檔案
#consul服務埠號 server: port: 8006 spring: application: name: consul-provider-name #consul註冊中心地址 cloud: consul: host: localhostport: 8500 discovery: #hostname: 127.0.0.1 service-name: ${spring.application.name}
3、主啟動類增加@EnableDiscoveryClient註解,該註解用於向consul或者zookeeper註冊中心註冊該服務。
4、Controller類寫業務介面,該控制器通常需要使用@RestController註解。
四、Eureka、Zookeeoer、Consul三個註冊中心對比
語言 | CAP理論 | 健康檢查 | 介面 | SpringCloud整合 | |
Eureka | java | AP | 可配 | HTTP | 已整合 |
Consul | go | CP | 支援 |
HHTP\DNS |
已整合 |
Zookeeper | java | CP | 支援 | 客戶端 | 已整合 |