3

我使用KafkaandZookeeper作为我的数据管道的主要组件,它每秒处理数千个请求。我正在使用Samza实时数据处理工具来处理我需要对数据进行的小转换。

我的问题是我的一个消费者(比如说ConsumerA)消费了几个主题Kafka并处理它们。基本上是对所消化的主题进行总结。我还想将这些数据作为一个单独的主题推送到 Kafka,但这会在 Kafka 和我的组件上形成一个循环。

这让我很困扰,这是 Kafka 中想要的架构吗?

我是否应该在 from 中进行所有处理Samza并仅将摘要(摘要)信息存储到Kafkafrom Samza。但是我要做的处理量非常大,这就是为什么我想为它使用一个单独的组件(ComponentA)。我想我的问题可以推广到所有类型的数据管道。

那么,让组件成为数据管道中的消费者和生产者是一种好的做法吗?

4

1 回答 1

1

只要 Samza 所写的主题与它所消费的主题不同,不,就不会有问题。读取和写入 Kafka 的 Samza 作业是架构的规范和意图。还可以有 Samza 作业,将一些数据从另一个系统带入,或者将一些数据从 Kafka 写入不同系统的作业(甚至是根本不使用 Kafka 的作业)。

但是,在同一主题中读取和写入的工作是您会遇到循环并应避免的地方。这有可能非常快地填满您的 Kafka 代理的磁盘。

于 2015-07-14T04:15:47.417 回答