设计问题卡夫卡消费者/生产商与卡夫卡流

时间:2020-02-11 20:48:01

标签: node.js apache-kafka

我正在使用NodeJs MS,到目前为止,它们通过Kafka Consumer / Producer进行通信。现在,我需要构建一个Loggger MS,该MS必须记录所有消息并进行一些处理(解析并保存到db),但是我不确定是否可以使用Kafka Stream改进当前方法,或者我是否应该继续使用Consumers < / p>

2 个答案:

答案 0 :(得分:1)

Streams API是位于Consumer / Producer API之上的更高级别的抽象。通过Streams API,您可以过滤和转换消息,并构建处理步骤的拓扑。

对于您所描述的内容,如果您只是接收一条消息并执行单个处理步骤,那么Consumer API可能很好。也就是说,您也可以使用Streams API进行相同的操作,而不必使用其他功能。

答案 1 :(得分:1)

建立Loggger MS,该MS必须记录所有消息并进行一些处理(解析并保存到db)

我建议使用Streams API或Nodejs Producer + Consumer之类的东西进行解析并写回Kafka

从解析/过滤/清理过的消息中,您可以运行 Kafka Connect集群将数据下沉到数据库中

可以使用Kafka Stream进行改进,或者我应该继续使用Consumers

最终,取决于您的需求。流DSL的peekforeach方法在功能上等效于使用者