springcloud15:config配置中心+Bus消息总线
admin
2024-02-12 02:32:46
  • Config分布式配置中心
    config是干什么的?
    面临问题:统一配置中心,如四个微服务都会访问数据库,我们需要统一配置四个微服务的数据库连接的配置。
    configServer来解决这个问题
  • 提供了集中化的外部配置支持,提供了中心化的外部配置(local git repository)
    分为服务端和客户端
    服务端负责提供配置信息,客户端获取配置信息
  • 搭建分布式配置中心
    启动分布式配置中心然后获取配置文件
    可以通过访问server来获取github上的配置内容
    此时客户端如何访问配置中心的配置?
    bootstrap是系统级的,优先级高与application.yml,是去外部获取一个配置文件
    成功实现了客户端访问服务端通过github配置文件
    动态刷新问题?
    修改github的配置文件,此时服务端访问可以立即拿到修改的,而客户端仍然会拿到以前旧的配置文件(除非重启)重启很难受。
    解决动态刷新问题:
    加入配置和注解(解决动态刷新问题)
    需要运维人员去刷新3355 actuator/refresh
    有多个服务,可否广播通知?大范围的自动刷新?实现差异化自动管理?
  • Bus消息总线(支持springcloud消息总线)
    能够管理和传播分布式系统的消息
    广播的自动刷新,有一个公用的消息主题,该主题产生的消息会被所有实例监听和消费
    RabbitMQ环境配置
  • 两种配置
    第一种:利用消息总线触发一个客户端的刷新操作,然后刷新所有客户端的配置(通知一个客户端然后通知其他)
    第二种:利用消息总线触发一个服务端server的刷新操作而刷新所有客户端的配置(configServer广播)
    第一种破坏了单一性,微服务本身是业务模块
    第一种破坏了服务之间的对等性
    故使用第二种涉及思想
  • 具体编码
    服务端增加Bus的依赖
    yml修改
    客户端做对应的修改
    修改文件,只需要发送请求刷新3344,则全部生效
    curl -X post “http://localhost:3344/actuator/bus-refresh”
  • 动态刷新的定点通知
    精确打击,定点刷新(只通知一个客户端)
    直接在发送请求中加入一个destination参数即可
    curl -X post “http://localhost:3344/actuator/bus-refresh/config-client:3355”

相关内容

热门资讯

2025年,生成式AI成为游戏... 2025年是生成式AI在游戏行业崭露头角的一年。这项技术在年度最受欢迎的游戏中被发现使用,一些最大游...
赛力斯旗下这家公司,新增多项A... 赛力斯汽车有限公司经营范围新增人工智能基础软件开发、人工智能理论与算法软件开发、人工智能应用软件开发...
福建一摄影比赛一等奖作品AI生... 日前,福建省旅游发展集团公布了“清新福建·遇见旅发”摄影大赛的评选结果,其中,一等奖作品《湖秋雾影》...
福建一摄影大赛一等奖作品被指“... 日前,福建省旅游发展集团公布了“清新福建·遇见旅发”摄影大赛的评选结果,其中,一等奖作品《湖秋雾影》...
从布局“AI+”到迈向AI原生... 从每月节省的数千人天,到供应链上数百亿信贷的精准投放;从数据资产的创新确权,到科创生态的深度共建……...