【发布时间】:2018-04-14 03:27:40
【问题描述】:
我一直在看码头,现在想知道这是否甚至是 kafka 或 node-kafka 的一个功能。
所以我的消费者收到来自 kafka 的消息,当我处理该消息时,我喜欢将其标记为好像在完成处理之前我没有收到它。这样,如果服务器在处理过程中崩溃,我可以重新连接并接收我的应用程序在崩溃之前收到的消息。
高级示例。
- Kafka 消息是一个用户 ID;
- 收到后,我会从数据库中获取用户信息。
- 我向用户发送电子邮件。
- 发送电子邮件的时间。我将其记录到数据库中。
- 我将消息标记为完成。 (我不确定这一步是否可行)
这样,如果在第五步之前有任何步骤崩溃,当服务器备份时,它会再次收到失败的消息。
我正在使用 node.js LTS 8.10.0 和 npm 包 kafka-node@2.4.1
【问题讨论】:
标签: javascript node.js apache-kafka kafka-consumer-api