首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年11月 Java教学课程 189-SpringCloud(Consul注册中心)

【愚公系列】2023年11月 Java教学课程 189-SpringCloud(Consul注册中心)

作者头像
愚公搬代码
发布2025-06-02 14:42:35
发布2025-06-02 14:42:35
11700
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行

🚀前言

Consul是一种开源的服务发现和配置管理工具,可以作为分布式系统的注册中心。它提供了一个中心化的服务注册和发现机制,使得服务之间的通信更加容易和可靠。Consul可以自动检测服务的状态和健康情况,并将其信息提供给其他服务使用。同时,它也提供了一些高级功能,例如分布式锁、数据中心间的服务发现和故障转移等。通过使用Consul注册中心,可以大大简化分布式系统的开发和管理工作。

官网地址: https://www.consul.io

🚀一、Consul注册中心

🔎1.安装Consul

🦋1.1 Linux上安装Consul
  1. 下载Consul:访问 https://www.consul.io/downloads.html 下载适合您的操作系统的Consul二进制文件。
  2. 将Consul二进制文件移动到/usr/local/bin目录:
代码语言:javascript
代码运行次数:0
运行
复制
# sudo mv ~/Downloads/consul /usr/local/bin/
  1. 检查Consul是否正确安装:
代码语言:javascript
代码运行次数:0
运行
复制
# consul version
Consul v1.8.0
  1. 创建Consul配置文件:
代码语言:javascript
代码运行次数:0
运行
复制
# sudo mkdir /etc/consul.d
# sudo touch /etc/consul.d/consul.hcl
  1. 编辑Consul配置文件,将以下内容添加到文件中:
代码语言:javascript
代码运行次数:0
运行
复制
# /etc/consul.d/consul.hcl

datacenter = "mydc"
data_dir = "/opt/consul"
ui = true
  1. 启动Consul:
代码语言:javascript
代码运行次数:0
运行
复制
# sudo consul agent -config-dir=/etc/consul.d
🦋1.2 Linux上安装Consul
  1. 访问 https://www.consul.io/downloads.html 下载适合您的Windows系统的Consul二进制文件。
  2. 将Consul二进制文件解压缩到一个文件夹中。
  3. 将Consul二进制文件夹添加到环境变量中: 右键单击“此电脑”的“属性”。 点击“高级系统设置”。 在“系统属性”中,点击“环境变量”。 在“系统变量”中,找到“Path”并双击打开。 点击“新建”,并添加Consul二进制文件夹的路径。
  4. 打开命令提示符或PowerShell,运行以下命令检查是否成功安装Consul:
代码语言:javascript
代码运行次数:0
运行
复制
consul version
  1. 创建Consul配置文件: 创建一个名为“consul.d”的文件夹,然后在其中创建一个名为“consul.hcl”的文件。 在“consul.hcl”中添加以下内容:
代码语言:javascript
代码运行次数:0
运行
复制
# consul.hcl
datacenter = "mydc"
data_dir = "D:\\consul"
ui = true
  1. 在命令提示符或PowerShell中运行以下命令以启动Consul代理:
代码语言:javascript
代码运行次数:0
运行
复制
consul agent -config-dir="D:\\consul.d"

通过以下地址可以访问Consul的首页:http://localhost:8500

🔎2.服务注册

🦋2.1 引入依赖
代码语言:javascript
代码运行次数:0
运行
复制
<!--consul 客户端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-all</artifactId>
</dependency>
🦋2.2 配置文件
代码语言:javascript
代码运行次数:0
运行
复制
server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_user?useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: userservice
  cloud:
    consul:
      host: localhost # consul 服务端的 ip
      port: 8500 # consul 服务端的端口 默认8500
      discovery:
        service-name: ${spring.application.name} # 当前应用注册到consul的名称
        prefer-ip-address: true # 注册ip
        heartbeat:
          enabled: true
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
🦋2.3 启动多个user-service实例

🔎3.服务发现

🦋3.1 引入依赖
代码语言:javascript
代码运行次数:0
运行
复制
<!--consul 客户端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-all</artifactId>
</dependency>
🦋3.2 配置文件
代码语言:javascript
代码运行次数:0
运行
复制
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice
  cloud:
    consul:
      host: localhost # consul 服务端的 ip
      port: 8500 # consul 服务端的端口 默认8500
      discovery:
        service-name: ${spring.application.name} # 当前应用注册到consul的名称
        prefer-ip-address: true # 注册ip
        heartbeat:
          enabled: true
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
feign:
  client:
    config:
      default: # default?????
        loggerLevel: FULL # ?????BASIC????????????
  httpclient:
    enabled: true # ??feign?HttpClient???
    max-connections: 200 # ??????
    max-connections-per-route: 50 # ??????????
🦋3.3 服务拉取和负载均衡

🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、Consul注册中心
    • 🔎1.安装Consul
      • 🦋1.1 Linux上安装Consul
      • 🦋1.2 Linux上安装Consul
    • 🔎2.服务注册
      • 🦋2.1 引入依赖
      • 🦋2.2 配置文件
      • 🦋2.3 启动多个user-service实例
    • 🔎3.服务发现
      • 🦋3.1 引入依赖
      • 🦋3.2 配置文件
      • 🦋3.3 服务拉取和负载均衡
  • 🚀感谢:给读者的一封信
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档