springboot集成consul

302 阅读3分钟

文章目录


前言

consul 作为一个cloud支持的注册中心,安装方便,配置简单,小巧精致,是一款非常适合初学者来用的服务注册与发现中心;它没有nacos那样复杂,可以放配置文件,换句话说,他也没有nacos那样强大;


一、consul是什么?

一个注册中心,支持服务的注册与发现;

  • 下载windows版本 consul下载地址
    下载页面

  • 解压后 cmd启动

    consul agent -dev -client=0.0.0.0

启动命令输入位置

二、开始整合

由于是微服务,所以一般都是多个微服务,这里我采用分服务,但是不分包的做法

1.搭建一个父子模块的项目架构

第一步创建项目

  • idea 新建一个空的maven项目,删除src文件夹

  • 创建一个module,选择springboot,版本选择2.7.10,以及其他依赖
    创建子模块
    选择依赖

  • 在创建两个 module : service-b service-c
    一共三个服务

第二步配置项目

  • 配置yml,改配置文件为bootstrap.yml,内容如下
    服务a的配置内容

    spring: cloud: consul: host: 127.0.0.1 port: 8500 config: enabled: true discovery: service-name: spring.application.nameinstanceid:{spring.application.name} instance-id: {spring.application.name} heartbeat: enabled: true application: name: servicea server: port: 8081 servlet: context-path: /${spring.application.name}

配置文件

  • pom 内容

    4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.10 com.example service-a 0.0.1-SNAPSHOT service-a service-a <java.version>1.8</java.version> <spring-cloud.version>2021.0.6</spring-cloud.version> org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-consul-config org.springframework.cloud spring-cloud-starter-consul-discovery org.springframework.cloud spring-cloud-starter-bootstrap org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    

另外两个项目也是如此配置,仅仅是yml中的名称,端口 不一样
application:
name: serviceb
server:
port: 8082
application:
name: servicec
server:
port: 8083

  • 启动类上开启服务发现注解 @EnableDiscoveryClient
    穹顶类注解添加

2.分别启动项目

找到每个服务的各自运行主类,右键 run ~~
运行效果
再次查看consul
consul服务列表


总结

以consul为注册中心,整合还是很快的,基本上没有版本不一致导致的各种问题,兼容性较好;
另整合过程视频地址: 传送门

本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。