目录
1.4.1、利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置
1.4.2、利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,刷新所有客户端的配置
2.1.1、下载地址 :Downloads - Erlang/OTP
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 环境配置
- 由于RabbitMQ是基于erlang的,所以,在正式安装RabbitMQ之前,需要先安装erlang。
- RabbitMQ Erlang Version对应关系:RabbitMQ Erlang Version Requirements — RabbitMQ