春季云环境中的分布式Rabbitmq

问题描述 投票:6回答:1

我正在尝试使用以下组件基于当前的春季云发行版(主要是指Netflix OSS)设置分布式系统

  • 1个或更多云配置服务器
  • 1个或更多Eureka服务器
  • 使用Eureka和Config Server客户端的1项或多项服务

上面的设置很容易进行,但是一旦您开始进行设置,以便云中的配置更改Config服务器自动触发实际客户端的值更改,事情就开始变得越来越复杂。

我的理解是,要使这种功能正常工作,应该向服务中引入spring-cloud-bus客户端,而服务将依次使用Rabbitmq服务器(当前唯一受支持的实现)(实际的Rabbitmq二进制文件而不是某些spring-boot应用程序(例如eureka或Config服务器)以允许将Config服务器中的更改事件自动传播到客户端。

设置这样的系统,并且必须将地址硬编码到客户端中的Rabbitmq服务器上,这听起来是违反直觉的(即使人们将保持多少Rabbitmq服务器的数量或多或少保持静态)。

应该如何在Eureka服务发现服务器中注册rabbitmq服务器实例,以使客户端无需在启动之前就对其位置有任何了解就可以找到它们?

鉴于rabbitmq不是spring-cloud组件,我似乎找不到任何有关如何完成此操作的文档。实际上,关于rabbitmq + eureka + spring-cloud-bus应该如何设置的文件似乎很少。

rabbitmq spring-cloud spring-amqp netflix-eureka
1个回答
0
投票
[大多数云服务,以AWS为例,有一个Elastic IP解决方案-因此,您可以为RabbitMQ服务器配置IP,无论实例是否更改,这些IP始终属于RabbitMQ。您可以将弹性IP重新连接到其他实例。
© www.soinside.com 2019 - 2024. All rights reserved.