0
点赞
收藏
分享

微信扫一扫

Spring Cloud Consul服务注册与发现


文章目录

  • ​​1、Consul简介​​
  • ​​2、Consul的安装与启动​​
  • ​​2.1 选择对应的版本即可下载​​
  • ​​2.2 根据解压缩目录配置环境变量​​
  • ​​2.3 查看consul环境变量是否配置成功,执行命令出现如下信息代表成功​​
  • ​​2.4 启动consul服务​​
  • ​​2.5 访问consul的web服务端口​​
  • ​​3、开启Consul客户端即微服务​​
  • ​​3.1 创建项目并引入consul客户端依赖​​
  • ​​3.2 编写properties配置​​
  • ​​3.3 启动服务查看consul界面服务信息​​
  • ​​3.4 consul开启健康监控检查​​
  • ​​3.5 consul关闭健康监控检查​​

1、Consul简介

Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,Consul的方案更具有“一站式”的特点,其可实现以下功能:

  • 服务注册与发现
  • Key/Value存储
  • 健康检查:支持HTTP接口、脚本、TCP等形式定时任务检测
  • 支持多数据中心
  • 可视化界面
  • 分布一致性协议实现:raft算法。

2、Consul的安装与启动

Spring Cloud Consul的安装非常简单
下载地址:​​​https://www.consul.io/downloads​​

2.1 选择对应的版本即可下载

Spring Cloud Consul服务注册与发现_spring cloud

2.2 根据解压缩目录配置环境变量

当然,不配置环境变量也行,不过每次启动都得在consul的安装目录中打开cmd,有点麻烦,我们最好还是配置个环境变量

我的目录是:

Spring Cloud Consul服务注册与发现_spring cloud_02


将这个加入path即可。

Spring Cloud Consul服务注册与发现_consul_03

2.3 查看consul环境变量是否配置成功,执行命令出现如下信息代表成功

consul -v

Spring Cloud Consul服务注册与发现_环境变量_04

2.4 启动consul服务

consul agent -dev

Spring Cloud Consul服务注册与发现_consul_05


Spring Cloud Consul服务注册与发现_环境变量_06

2.5 访问consul的web服务端口

http://localhost:8500

Spring Cloud Consul服务注册与发现_客户端_07

3、开启Consul客户端即微服务

3.1 创建项目并引入consul客户端依赖

<!--引入consul依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

Spring Cloud Consul服务注册与发现_spring cloud_08

3.2 编写properties配置

server.port=8082
# 指定服务名称
spring.application.name=CONSULCLIENT

# consul server服务注册地址
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
# 执行注册当前服务的服务名称 默认:$(spring.application.name)
spring.cloud.consul.discovery.service-name=${spring.application.name}

# 关闭健康检查 注意:在生产情况下不推荐关闭健康检查
spring.cloud.consul.discovery.register-health-check=false

Spring Cloud Consul服务注册与发现_consul_09

3.3 启动服务查看consul界面服务信息

Spring Cloud Consul服务注册与发现_环境变量_10

3.4 consul开启健康监控检查

默认情况consul监控健康是开启的,但是必须依赖健康监控依赖才能正确监控健康状态所以直接启动会显示错误,引入健康监控依赖之后服务正常

<!-- 这个包是用做健康度监控的-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Cloud Consul服务注册与发现_环境变量_11


再次启动服务

Spring Cloud Consul服务注册与发现_spring_12

3.5 consul关闭健康监控检查

Spring Cloud Consul服务注册与发现_spring cloud_13


举报

相关推荐

0 条评论