springboot集成consul

文章目录

  • 前言
  • 一、consul是什么?
  • 二、开始整合
    • 1.搭建一个父子模块的项目架构
      • 第一步创建项目
      • 第二步配置项目
    • 2.分别启动项目
  • 总结


前言

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


一、consul是什么?

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

  • 下载windows版本 consul下载地址
    springboot集成consul_第1张图片

  • 解压后 cmd启动

 consul agent -dev -client=0.0.0.0

springboot集成consul_第2张图片

  • 访问 http://localhost:8500
    springboot集成consul_第3张图片

二、开始整合

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

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

第一步创建项目

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

  • 创建一个module,选择springboot,版本选择2.7.10,以及其他依赖
    springboot集成consul_第4张图片
    springboot集成consul_第5张图片

  • 在创建两个 module : service-b service-c
    springboot集成consul_第6张图片

第二步配置项目

  • 配置yml,改配置文件为bootstrap.yml,内容如下
    服务a的配置内容
spring:
  cloud:
    consul:
      host: 127.0.0.1
      port: 8500
      config:
        enabled: true
      discovery:
        service-name: ${spring.application.name}
        instance-id: ${spring.application.name}
        heartbeat:
          enabled: true
  application:
    name: servicea
server:
  port: 8081
  servlet:
    context-path: /${spring.application.name}

springboot集成consul_第7张图片

  • 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
    
        1.8
        2021.0.6
    
    
        
            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
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



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

  • 启动类上开启服务发现注解 @EnableDiscoveryClient
    springboot集成consul_第8张图片

2.分别启动项目

找到每个服务的各自运行主类,右键 run ~~
springboot集成consul_第9张图片
再次查看consul
springboot集成consul_第10张图片


总结

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

你可能感兴趣的:(spring,boot,consul,微服务,spring)