首页 > 其他分享 >consul 作为服务注册发现和配置中心

consul 作为服务注册发现和配置中心

时间:2024-07-13 10:59:04浏览次数:13  
标签:bootstrap spring consul 配置 starter 注册 yml cloud

consul 同 nacos 一样也可以完成【服务注册与发现】、【分布式配置中心】的功能,但企业主流还是 alibaba 的 nacos,所以 consul 只是简单介绍下使用

下载安装和启动

  1. 地址:https://developer.hashicorp.com/consul/install?product_intent=consul#windows (选386)
  2. 解压后只有一个 exe 文件,在这个目录下运行命令 consul --version 能正确输出 consul 版本
  3. 还是在 exe 所在目录,执行 consul agent -dev consul 就启动了
  4. 浏览器访问 localhost:8500

使用案例

  1. 在客户端先导入依赖

    <!-- SpringCloud consul config 这两个依赖是分布式配置需要的-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    
    <!--SpringCloud consul discovery 这个是服务注册与发现需要的 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  2. 客户端启动类使用注解

    @RefreshScope // 动态刷新配置
    @EnableDiscoveryClient // 当前工程会被作为一个服务注册到 consul 上
    @SpringBootApplication
    public class SpringbootApplication {
        public static void main(String[] args) {
            SpringApplication.run(SpringbootApplication.class,args);
        }
    }
    

    参考官网

  3. 配置文件,需要 bootstrap.yml,还是看官网怎么说

    工程里面导入了 spring-cloud-starter-bootstrap 依赖,所以现在还差 bootstrap.yml 。bootstrap 和 application 这两个都是配置文件,bootstrap 优先级更高

    bootstrap.yml 如下:

    spring:
      application:
        name: my-consul-test-service
        # 这里开始配置 consul 的配置
      cloud:
        consul:
          host: localhost
          port: 8500
          discovery:
            service-name: ${spring.application.name}
          config:
            profile-separator: '-' # 这个玩意也很操蛋,国内绝不可能使用英文逗号作为分隔符,但是 consul 就是这样,太别扭了改一下,改为 - 
            format: YAML
    

    application.yml 就是常规的配置了,比如服务端口,mabatis、数据源、mvc 等等

标签:bootstrap,spring,consul,配置,starter,注册,yml,cloud
From: https://www.cnblogs.com/cryus/p/18299783

相关文章

  • Nginx的全局配置文件说明
    Nginx的全局配置文件说明Nginx配置文件的主要配置块可以分为三个部分:全局配置块(events和http块),events块和http块。这三个部分共同定义了Nginx服务器的整体行为和处理HTTP请求的方式。全局配置块:包含了影响Nginx服务器整体行为的指令,如进程数、工作目录、错误日志级别、进......
  • 亚马逊自养号测评环境系统全解析:从注册到下单,一次成号无忧
    亚马逊测评的关键在于养号,这是因为测评需要买家账号来操作。而养号不仅仅是让账号能多次使用,更重要的是通过维护让账号更健康、更有价值。很多人容易忽略的是,首次购买(首单)的成功率和它对账号的重要性。首单成功率高,账号就能更快地建立起良好的记录,对后续的测评结果也有积极影响......
  • TDA4VM-SK配置与应用杂谈
    TDA4VM-SK配置与应用杂谈硬件信息:SK-TDA4VM用户指南处理器SDKLinux边缘AI文档配置文档:SK-TDA4VM处理器SDKLinux文档-getting_started,详细说明了如何配置,下面是简要步骤:物料准备:SK板,microUSB串口线,USBcamera,HDMI/DP显示器,≥16GB的内存卡,网线和局域网*,串口电源(5-2......
  • QT6 CMake项目配置 (VSCode)
    QT6CMake项目配置(VSCode)这篇文章我们介绍一下在VSCode下的配置,大体上和VisualStudio上差不多,建议先把之前介绍在VS上的配置过程看一遍,VSCode安装这个就不用说了吧,无脑下一步插件安装先把CMake相关的插件装一下第一个是CMake语言的支持插件,装了这个写CMakeLists.txt就......
  • 环境配置
    配置c++环境实验步骤图片仅作参考,以命令行为准下载安装第三方依赖(opencv,ffmpeg,accllite,presentagent)配置摄像头配置i2c下载测试代码并检验准备安装#下载测试代码cd${HOME}#注意是主目录,不是/homegitclonehttps://gitee.com/ascend/samples.git#如果无法gitclone......
  • EtherCAT总线耦合器:在欧姆龙Sysmac Studio软件里的配置步骤
    EtherCAT总线适配器XD7000作为网络接口,连接主控制器(如PLC)和其他EtherCAT设备,实现实时、高效的数据交换。通过EtherCAT总线耦合器,用户能够将所有设备连接在一个主网络上,并通过一个以太网端口进行控制。EtherCAT总线耦合器能够自动检测和确定不同的设备连接方式,从而实现快速、直接和......
  • 【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器
    ​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G)1.京东云-专属活动 官方采购季专属活动地址:京东云-618采购季服务器活动专区https://3.cn/20-J4jjX京东云又双叒降价了!活动页大改,增加两个大......
  • 0基础_永磁同步电机FOC(矢量控制)实践快速入门(一)——通过DSP28335配置SPI与AD2S1210通信
    AD2S1210.cADSP28335配置SPA模块与AD2S1210通信读取旋转变压器反馈的位置、速度信息欢迎大家进群领取电机控制,嵌入式学习资料!程序文件也在群里哦目录文章目录前言一、位置角是什么,为什么要获取位置角?二、如何获取位置角?三、AD2S1210介绍四、如何通过AD2S1210进行旋......
  • Django静态文件系统之meida文件,Django配置文件介绍,RBAC权限系统
    ⅠDjango静态文件系统之meida文件【一】问题引入一般常用的静态文件:static但是,媒体文件:图片,视频,音频……会随着用户改变而改变,不应该作为静态文件来使用应该是媒体资源于是Django提供了另一种静态文件语法meida文件【二】配置使用在Django的settings里面DEBUG—>开......
  • 私服配置说明
    私服配置说明以下私服地址和密码仅为示例,需要根据实际情况进行替换访问私服:http://192.168.150.101:8081访问密码:admin/admin使用私服,需要在maven的settings.xml配置文件中,做如下配置:需要在servers标签中,配置访问私服的个人凭证(访问的用户名和密码)<server>  ......