首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kafka处理的生产者-消费者处理模式

Kafka处理的生产者-消费者处理模式
EN

Stack Overflow用户
提问于 2019-01-03 17:41:24
回答 1查看 128关注 0票数 0

我正在实现一个类似于下图的流水线:

代码语言:javascript
复制
*K-topic1* ---> processor1 ---> *K-topic2* ---> processor2 --> 
*K-topic3* ---> processor3 --> *K-topic4*

K主题组件表示Kafka主题和处理器组件代码(Python/Java)。

对于处理器组件,其目的是读取/使用主题中的数据,对其执行一些处理/ETL,并将结果持久化到链中的下一个主题以及持久存储,如S3。

我有一个关于设计方法的问题。

在我看来,每个处理器组件都应该封装消费者和生产者功能。

最好的方法是拥有一个可以包含KafkaConsumer和KafkaProducer类的处理器模块/类吗?到目前为止,我见过的大多数示例都有单独的消费者和生产者组件,它们是单独运行的,需要运行两倍数量的组件,而不是将生产者和消费者封装在每个处理器对象中。

欢迎任何建议/参考。

这个问题不同于

Designing a component both producer and consumer in Kafka

正如这个问题特别提到的使用Samza,这里不是这种情况。

EN

Stack Overflow用户

发布于 2019-01-04 01:01:15

的目的是读取/使用主题中的数据,对其执行一些处理/ETL,并将结果持久化到链中的下一个主题

这正是Kafka Streams和/或KSQL的强项。您可以使用Processor API,但从您所描述的内容来看,我认为您只需要Streams DSL

将结果持久化到链中的下一个主题以及持久化存储,比如S3。

通过上面的主题,您可以使用Kafka Connect Sink将主题数据获取到其他外部系统中。不需要编写一个消费者来为你做这件事。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54019665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档