繁体   English   中英

将活动分类为Kafka中的许多主题

[英]Categorize events to many topics in Kafka

我有一堆事件可以按类型和每小时时间戳进行分类。 我最初的想法是在Kafka中将事件放入不同的主题(一个类别一个)。 但是,它很容易以多达数百个主题结束。 另外,如果未正确清理它们(在我的情况下,它们是动态编程的[ 1 ]),则系统中可能会包含数千个它们。 根据我的阅读[ 2 ],这似乎在Zookeeper中造成了巨大的开销。

我的第二个想法是将事件流化为一个主题并创建多个消费者。 它的缺点是浪费带宽,因为每个消费者都必须遍历所有事件以查找其感兴趣的事件。

另一种方法是将我的第一种方法和第二种方法结合起来并进行权衡。 即创建一个具有多个分区的主题; 某些类别的事件进入同一分区。

我想知道这种情况下的理智做法。

-

我认为最好的策略是为每个语义上不同的数据流创建一个主题,并在需要更多并行性时对其进行分区。 这样,您可以轻松地将每个使用者设置为从适当的主题中读取内容,并且添加新的分区很简单,因为使用者将自动从新的分区开始使用。

如您所建议,还可以根据事件的类别对数据进行分区,并设置使用者组以从所有事件中读取数据,但是当您要添加更多分区(或更多使用者)时,这会造成问题,因为您将可能需要修改使用者和分区之间的映射。 增加并行性也变得更加复杂。

我建议您首先不要担心动物园管理员的表现,而应该从最自然的方法开始。 Kafka通常可以处理大量主题,而没有太多开销。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM