在kafka中设计生产者和消费者组件

6ioyuze2  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(324)

我正在使用 Kafka 以及 Zookeeper 作为我的数据管道的主要组件,它每秒处理数千个请求。我正在使用 Samza 作为实时数据处理工具,我需要对数据进行小的转换。
我的问题是我的一个消费者 ConsumerA )使用来自的多个主题 Kafka 并处理它们。基本上是创建一个摘要的主题是消化。我还想把这些数据作为一个单独的主题推送给Kafka,但这形成了一个关于Kafka和我的组件的循环。
这就是困扰我的,这是Kafka理想的建筑吗?
我应该做所有的处理吗 Samza 仅将摘要信息存储到 KafkaSamza . 但是我将要做的处理量非常大,这就是为什么我要使用一个单独的组件来处理它( ComponentA ). 我想我的问题可以推广到所有类型的数据管道。
那么,组件在数据管道中既是消费者又是生产者,这是一种好的实践吗?

7fhtutme

7fhtutme1#

只要萨姆扎写的主题不同于它所消费的,不,就不会有问题。从Kafka读写的samza作业是建筑的标准和意图。也可以有从另一个系统引入一些数据的samza作业,或者将kafka中的一些数据写入另一个系统的作业(甚至是根本不使用kafka的作业)。
然而,让一个作业读写同一个主题,会产生一个循环,这是应该避免的。这有可能填补你的Kafka经纪人的磁盘非常快。

相关问题