Springcloud Bus消息总线

目录

1、概述

1.1、Springcloud Bus 概念

1.2、Springcloud Bus 作用

1.3、总线

1.4、设计思想

1.4.1、利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置

1.4.2、利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,刷新所有客户端的配置

1.4.3、通常采用第二种设计思想 

2、RabbitMQ 环境配置

2.1、下载安装Erlang

2.1.1、下载地址 :Downloads - Erlang/OTP

2.1.2、安装

2.1.3、将Erlang添加至环境变量中

2.1.4、测试

2.2、安装RabbitMQ

3、SpringCloud Bus动态刷新全局广播

3.1、配置好RabbitMQ环境

3.2、新建微服务

3.2.1、服务端 

3.2.2、客户端

3.3、给配置中心服务端添加消息总线支持

3.3.1、修改POM文件

3.3.2、修改yaml配置文件

3.4、给配置中心客户端添加消息总线支持

3.4.1、修改POM文件

3.4.2、修改yaml配置文件

3.5、测试

4、SpringCloud Bus动态定点通知

4.1、需求具体说明

4.2、操作方法


1、概述

1.1、Springcloud Bus 概念

1)SpringCloud Bus 是用来将分布式系统的节点与轻量级消息系统链接起来的框架

2)SpringCloud Bus 整合了 Java 的事件处理机制和消息中间件的功能

3)SpringCloud Bus 目前支持RabbitMQ和Kafka

1.2、Springcloud Bus 作用

1)SpringCloud Bus 能管理和传播分布式系统间的消息,类似一个分布式执行器。

2)SpringCloud Bus 可用于广播状态更改、事件推送以及微服务间的通信通道。

1.3、总线

  • 在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个公用的消息主题。
  • 将系统中的所有微服务实例都连接至消息主题中。
  • 由于该消息主题中产生的消息会被所有实例监听和消费,所以称为消息总线。
  • 总线上的各个实例,都可以方便地广播一些需要让其他链接在该主题行的实例都知道的消息。

1.4、设计思想

1.4.1、利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置

 

1.4.2、利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,刷新所有客户端的配置

1.4.3、通常采用第二种设计思想 

  • 第一种打破了微服务的职责单一性,因为微服务本身是业务模块,不应该承担配置刷新的职责
  • 第一种打破了微服务各个节点的对等性。
  • 第一种有一定的局限性:
    • 微服务在迁移时,其网络地址常常会发生变化,想要做到自动刷新,会增加更多的修改

2、RabbitMQ 环境配置

2.1、下载安装Erlang

2.1.1、下载地址 :Downloads - Erlang/OTP

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该项目是采用目前比较流行的SpringBoot/SpringCloud构建微服务电商项目,项目叫 《果然新鲜》,实现一套串联的微服务电商项目。完全符合一线城市微服务电商的需求,对学习微服务电商架构,有非常大的帮助,该项目涵盖从微服务电商需求讨论、数据库设计、技术选型、互联网安全架构、整合SpringCloud各自组件、分布式基础设施等实现一套完整的微服务解决方案。 项目使用分布式微服务框架,涉及后台管理员服务、地址服务、物流服务、广告服务、商品服务、商品类别服务、品牌服务、订单服务 、购物车服务、首页频道服务、公告服务、留言服务、搜索服务、会员服务等。  系统架构图   SpringBoot+SpringCloud+SSM构建微服务电商项目使用SpringCloud Eureka作为注册中心,实现服务治理使用Zuul网关框架管理服务请求入口使用Ribbon实现本地负载均衡器和Feign HTTP客户端调用工具使用Hystrix服务保护框架(服务降级、隔离、熔断、限流)使用消息总线Stream RabbitMQ和 Kafka微服务API接口安全控制和单点登录系统CAS+JWT+OAuth2.0分布式基础设施构建分布式任务调度平台XXL-JOB分布式日志采集系统ELK分布式事务解决方案LCN分布式锁解决方案Zookeeper、Redis分布式配置中心(携程Apollo)高并发分布式全局ID生成(雪花算法)分布式Session框架Spring-Session分布式服务追踪与调用链Zipkin项目运营与部署环境分布式设施环境,统一采用Docker安装使用jenkins+docker+k8s实现自动部署微服务API管理ApiSwagger使用GitLab代码管理(GitHub  GitEE)统一采用第三方云数据库使用七牛云服务器对静态资源实现加速 开发环境要求JDK统一要求:JDK1.8Maven统一管理依赖 统一采用Docker环境部署编码统一采用UTF-8开发工具IDEA 或者 Eclipse 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值