【发布时间】:2019-11-28 10:51:51
【问题描述】:
我正在设计一个必须与多个基于消息队列 (MQ) 的后端集成的系统。我为每个后端提供一个微服务,用于处理 MQ 有效负载。我选择了 Kafka 作为消息传递媒介,并考虑将 Kafka-MQ-Connects 用于 MQ 集成。
我可以想到两种集成方法。
- Kafka-MQ-Connect(源/接收器)连接每个后端 + Kafka 主题(到/从)每个后端。
优点。 - 无需触及现有连接器即可扩展到新后端。
缺点。 - 需要维护的连接器和主题太多。
- 单个 Kafka-MQ-Connect(源/接收器)+单个 Kafka 主题(到/从)用于所有后端。此外,Sink 连接对 MQ 进行动态路由,并且微服务将具有内置的消息过滤器以仅过滤相关消息。
优点。 - 需要维护的主题和连接器很少。
缺点。 - 添加新的 MQ 后端需要更改连接器。
更好的方法是什么?除了上述之外,还有其他集成方案吗?
【问题讨论】:
标签: apache-kafka microservices integration message-queue apache-kafka-connect