基于consul的服务注册(含踩坑过程)

您所在的位置:网站首页 consul界面登录 基于consul的服务注册(含踩坑过程)

基于consul的服务注册(含踩坑过程)

2023-10-08 12:16| 来源: 网络整理| 查看: 265

在本地的一个案例中进行修改

修改微服务的相关pom文件修改每个微服务的pom文件,添加SpringCloud提供的基于Consul的依赖

      org.springframework.cloud       spring-cloud-starter-consul-discovery                 org.springframework.boot       spring-boot-starter-actuator     

 

注:由于我之前的代码是注册到eureka中,把配置注解要删了,pom的依赖还在,启动直接报错,还是要去掉的

其中 spring-cloud-starter-consul-discovery 是SpringCloud提供的对consul支持的相关依赖。spring-boot-starter-actuator 适用于完成心跳检测响应的相关依赖。

配置服务注册

server: port: 9001 #端口 spring: application: name: service-product #服务名称 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: 123456 jpa: database: MySQL show-sql: true open-in-view: true ###开始配置consul的服务注册 cloud: consul: host: 192.168.180.137 #consul服务器的主机地址 port: 8500 #consul服务器的ip地址 discovery: #是否需要注册 register: true #注册的实例ID (唯一标志) instance-id: ${spring.application.name}-1 #服务的名称 service-name: ${spring.application.name} #服务的请求端口 port: ${server.port} #指定开启ip地址注册 prefer-ip-address: true #当前服务的请求ip ip-address: ${spring.cloud.client.ip-address}

 

server: port: 9002 #端口 spring: application: name: service-order #服务名称 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: 123456 jpa: database: MySQL show-sql: true open-in-view: true ###开始配置consul的服务注册 cloud: consul: host: 192.168.180.137 #consul服务器的主机地址 port: 8500 #consul服务器的ip地址 discovery: #是否需要注册 register: true #注册的实例ID (唯一标志) instance-id: ${spring.application.name}-1 #服务的名称 service-name: ${spring.application.name} #服务的请求端口 port: ${server.port} #指定开启ip地址注册 prefer-ip-address: true #当前服务的请求ip ip-address: ${spring.cloud.client.ip-address}

其中 spring.cloud.consul 中添加consul的相关配置host:表示Consul的Server的请求地址port:表示Consul的Server的端口discovery:服务注册与发现的相关配置instance-id : 实例的唯一id(推荐必填),spring cloud官网文档的推荐,为了保证生成一个唯一的id ,也可以换成${spring.application.name}:${spring.cloud.client.ipAddress}prefer-ip-address:开启ip地址注册ip-address:当前微服务的请求ip

在控制台中查看服务列表打开ConsulServer的管理控制台,可以发现三个微服务已经全部注册到Consul中了。

 

 

进行测试:

 

 发现没有问题。

由于第一次部署实在阿里云上的,但是在服务检查的时候一直显示连接超时,可能网络不带好,换成自己的虚拟机就没有问题。如下图:

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3