【问题标题】:Java - Is it Possible to Use Spring Cloud Stream Kafka and RabbitMQ for the Same ApplicationJava - 是否可以将 Spring Cloud Stream Kafka 和 RabbitMQ 用于同一应用程序
【发布时间】:2022-02-01 21:27:50
【问题描述】:

我们有一个应用程序已经在使用 Spring Cloud Stream 和 RabbitMQ,应用程序的一些端点正在向 Rabbit MQ 发送消息。现在我们希望新的端点开始向 Kafka 发送消息,希望现有的端点继续使用带有 Spring Cloud Stream 的 RabbitMQ。我不确定这是否可能,因为这意味着我们必须在 pom.xml 中包含 kafka 和 rabbit binder 依赖项。我们需要在 yml 文件中进行哪些配置更改,以便应用了解 kafka 的绑定以及 Rabbit 的绑定?非常感谢。

【问题讨论】:

  • 我想这是可能的,但我不建议您使用 2 种不同的工具来完成相同的工作。它喜欢在你的架构中没有冗余。

标签: java apache-kafka rabbitmq spring-cloud-stream spring-rabbit


【解决方案1】:

是的,这是可能的。这就是我们所说的多绑定器场景,并且是专门用于支持您所描述的用例的核心功能之一。 在这里您可以找到更多信息 - https://docs.spring.io/spring-cloud-stream/docs/3.2.1/reference/html/spring-cloud-stream.html#multiple-binders 此外,这里是一个实际提供使用 Kafka 和 Rabbit 的配置的示例。虽然示例以 CloudEvent 为中心,但您可以忽略它并严格关注与 Rabbit 和 Kafka binders 相关的配置 - https://github.com/spring-cloud/spring-cloud-function/tree/main/spring-cloud-function-samples/function-sample-cloudevent-stream

熟悉后随时提出后续问题。

【讨论】:

猜你喜欢
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
相关资源
最近更新 更多