gpt4 book ai didi

rabbitmq - spring-cloud 环境中的分布式 Rabbitmq

转载 作者:行者123 更新时间:2023-12-03 13:41:02 25 4
gpt4 key购买 nike

我正在尝试使用以下组件基于当前的 spring-cloud 版本(主要是 Netflix OSS)设置分布式系统

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

  • 上面的设置很容易开始,但是一旦你开始考虑设置,以便云配置服务器中的配置更改自动触发实际客户端值的更改,事情开始变得更加复杂。

    我的理解是,为了让这样的功能起作用,应该将 spring-cloud-bus 客户端引入服务,这些服务反过来将使用,目前唯一支持的实现,rabbitmq 服务器(实际的 rabbitmq 二进制文件,而不是一些 spring-boot 应用程序,如eureka 或 Config 服务器)以允许 Config 服务器中的更改事件自动传播到客户端。

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

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

    鉴于rabbitmq不是spring-cloud组件,我似乎找不到任何关于如何完成的文档。事实上,关于如何将rabbitmq + eureka + spring-cloud-bus 设置在一起的文档似乎很少。

    最佳答案

    我知道我在问一个非常古老的问题,尽管我认为对于将来阅读此内容的人来说值得发表评论。

    大多数云服务,让我们以AWS为例,都有一个Elastic IP解决方案 - 这样您就可以为RabbitMQ服务器配置IP,并且无论实例是否更改,IP始终属于RabbitMQ。您可以将弹性 IP 重新附加到不同的实例。

    它的工作原理与 Elastic Load Balancer 几乎相同,它保留其 IP,因此您可以使用 Spring Cloud Config Server 将微服务配置为特定的 IP - 并且无需担心配置更改即可扩展 RabbitMQ 实例。

    关于rabbitmq - spring-cloud 环境中的分布式 Rabbitmq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35566659/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com