Spring Cloud Consul服务注册与发现
【摘要】 @[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)