Kafka和异构消息

时间:2015-07-08 13:06:25

标签: architecture avro apache-kafka

我正在对 Kafka Avro 进行一些研究,我对如何使用 Kafka 处理异构消息提出了疑问。

假设我们有两个 Avro 模式:EmailSentUserLoggedIn。卡夫卡消费它们的最佳方式是什么?

  1. 为每个架构创建主题?但如果我们有更多的模式,这听起来不错......
  2. 架构名称(或email_sentuser_logged_in等标识符存储在KeyedMessage的密钥中,然后让每个消费者过滤钥匙?但是每个消费者都必须消费所有的活动,这可能是一个开销......
  3. 别的东西:)
  4. 我希望我的问题很明确。在此先感谢您的帮助!

    干杯,

    镭。

1 个答案:

答案 0 :(得分:0)

1st Approach:我认为,这可以在单个主题中完成。您可以在主题中基于分区来分离这两个架构数据集。假设您在主题中创建了4个分区。在1和2中写下email_sent.2。在3和4中写入user_logged_in 一个消费者组将订阅1和2.第二个消费者组将订阅3和4.在此,没有不必要的IO。 2nd Approach:创建两个单独的主题。