1. 程式人生 > 其它 >服務註冊中心之Consul使用

服務註冊中心之Consul使用

一、什麼是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 支援 客戶端 已整合