【发布时间】:2019-04-27 03:28:03
【问题描述】:
我正在使用 IBM MQ 构建应用程序。构建它的建议架构是使用 Spring Cloud Stream。我在很多文章中读过,你可以将你的 spring 云消息传递系统移植到其他一些。这意味着,我稍后也可以将我的 IBM MQ 更改为 kafka,但在类路径上提供了绑定器实现。那是什么意思?
我已经使用rabbitmq构建了一个Spring Amqp应用程序,我在应用程序中使用的功能如下,
- 请求回复
- dlq
- 生产者和侦听器配置都具有放大和缩小功能,这意味着我可以使用代码创建队列、其交换和绑定路由键。
我想知道如果我使用 Spring Cloud Stream 是否可以使用上述功能,我是否需要将我的实现代码更改为将 ibm mq 移植到 kafka?
【问题讨论】:
-
你的问题真的只是问Classpath是什么意思吗?例如,假设你没有Kafka代码,是IBM或Rabbit的,然后你开始尝试在代码中使用Spring Kafka类,然后你会因为找不到它们而出现编译错误......所以你需要添加Kafka 库到您的类路径,并移植部分代码以使用它们
-
另一个问题是我是否需要更改我的实现代码以从 ibm mq 转移到 kafka?
-
我没有使用 Spring Kafka 的经验,但至少,我认为“挂钩”Kafka 设置有不同的注释,所以是的
-
或者,您可以保留 IBM MQ 代码,并使用 Kafka Connect 将消息直接移动到 Kafka docs.confluent.io/current/connect/kafka-connect-ibmmq/…
标签: apache-kafka rabbitmq ibm-mq spring-cloud spring-cloud-stream