使用Spring Cloud Bus更新微服务集群配置

使用Spring Cloud Bus更新微服务配置


    Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,Bus就像一个扩展的Spring Boot应用程序的分布式执行器,但也可以用作应用程序之间的通信渠道。当前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。
    本文要讲述的是用Spring Cloud Bus实现微服务集群架构的配置文件的自动更新。


    Spring Cloud Bus需要消息中间件支持,您需要将spring-cloud-starter-bus-amqp或spring-cloud-starter-bus-kafka添加到您的Maven依赖关系管理中,Spring Cloud负责其余部分。你只需要确保RabbitMQ或Kafka可用和配置,本例使用RabbitMQ。


第一步:
    安装RabbitMQ并在配置到微服务中,通常你需要在微服务配置文件bootstrap.yml中添加消息中间件配置信息:
    spring:
        rabbitmq:
            host: 172.108.12.103
            port: 5672
            username: system
            password: sgwkd
第二步:
    在微服务项目的pom.xml文件中添加Spring Cloud Bus依赖
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
第三步:
    在需要更新配置文件信息的class上使用注解@RefreshScope
    @RefreshScope
    @RequestMapping("/test")
    public class TestController {
        @Value("${test.defaultMsg}")
        public String defaultMsg;
        ...
    }
第四步:
    通过微服务实例的POST 接口调用总线API,完成自动更新
    例:POST: http://101.130.13.108:4000/bus/refresh (此方法只适用于相同服务器不同端口的微服务集群服务)


    注:如果相同微服务的多个实例集群,使用的是相同的端口时,首先需要配置微服务索引号为不同的值spring.application.index 否则总线检测不到微服务的其他实例,以上配置都设定好了以后再通过微服务名更新微服务集群配置。
    例:POST http://101.130.13.108:4000/bus/refresh?destination=order-service:**
    order-service为微服务名,**表示忽略端口号。


Spring Cloud Bus更新微服务配置架构图:

spring cloud bus

--END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1.介绍............................................................................................................................................................3 2.基本概念....................................................................................................................................................3 3.报文传输....................................................................................................................................................6 3.1 帧类型..................................................................................................................................................6 3.1.1 数据帧...........................................................................................................................................6 3.1.2 远程帧...........................................................................................................................................9 3.1.3 错误帧.........................................................................................................................................10 3.1.4 过载帧......................................................................................................................................... 11 3.1.5 帧间空间..................................................................................................................................... 11 3.2 发送器/接收器的定义.........................................................................................................................12 4.报文校验..................................................................................................................................................12 5.编码..........................................................................................................................................................13 6.错误处理..................................................................................................................................................13 6.1 错误检测............................................................................................................................................13 6.2 错误标定............................................................................................................................................13 7.故障界定..................................................................................................................................................13 8.位定时要求..............................................................................................................................................15 9 增加CAN 振荡器容差...............................................................................................................................16 9.1 协议修改............................................................................................................................................17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值