Spring Cloud Consul服务注册与发现

举报
别团等shy哥发育 发表于 2023/01/13 19:06:02 2023/01/13
【摘要】 @[toc] 1、Consul简介Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,Consul的方案更具有“一站式”的特点,其可实现以下功能:服务注册与发现Key/Value存储健康检查:支持HTTP接口、脚本、TCP等形式定时任务检测支持多数据中心可视化界面分布一致性协议实现:raft算法。 2、Consul的安...

@[toc]

1、Consul简介

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

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

2、Consul的安装与启动

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

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

在这里插入图片描述

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

当然,不配置环境变量也行,不过每次启动都得在consul的安装目录中打开cmd,有点麻烦,我们最好还是配置个环境变量
我的目录是:在这里插入图片描述
将这个加入path即可。
在这里插入图片描述

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

consul -v

在这里插入图片描述

2.4 启动consul服务

consul agent -dev

在这里插入图片描述
在这里插入图片描述

2.5 访问consul的web服务端口

http://localhost:8500

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.4 consul开启健康监控检查

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

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

在这里插入图片描述
再次启动服务
在这里插入图片描述

3.5 consul关闭健康监控检查

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。