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