服务注册中心之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 支持 客户端 已集成

 

 

 

 

 

 

posted @ 2021-10-15 13:51  我若安好,便是晴天  阅读(459)  评论(0编辑  收藏  举报