我正在设计一个系统,其中必须与多个基于消息队列(MQ)的后端集成。每个后端都有一个微服务,用于处理MQ有效负载。我选择Kafka作为消息传递的媒介,并考虑将Kafka-MQ-Connects用于MQ集成。
我可以想到两种整合方法。
优点。 -可以扩展到新的后端,而无需接触现有的连接器。
缺点 -需要维护的连接器和主题太多。
优点。 -很少维护主题和连接器。
缺点 -添加新的MQ后端需要更改连接器。
哪种方法更好?除了上述之外,还有其他集成替代方案吗?
答案 0 :(得分:2)
尽管您没有提供任何其他要求(例如,您打算多久添加一次新数据源以及您拥有的流量),但我还是选择第一种方法。将来添加/删除新的/现有的数据源将更加容易。
我不会说很难维护多个接收器/源连接器和主题。根据我的经验,很难维护从多个主题/源复制数据的连接器。例如,如果您想在特定主题上应用SMT(简单消息转换),那么如果您没有隔离的连接器,那么您将无法实现它,因为SMT应用于连接器级别。此外,如果为所有源配置单个连接器,但在某个时候连接失败,则所有目标系统都将停机。