在没有检查点的情况下从 kafka 消费时是否可以实现至少一次处理保证? 接收器接受重复的消息。 这里唯一的要求是不丢失数据。 就像当消费者从 kafka 轮询记录并且在没有完全处理的情况下失败时,那么应该重播该记录。 有没有一种方法可以在不启用检查点的情况下实现?
手动提交偏移量可能是一种方法,但不确定是否还有其他更好的方法来做到这一点。
从 flink 文档中找到这个:
只有当源参与快照机制时,Flink 才能保证一次状态更新为用户定义的状态源 flink 文档:https://nightlies.apache.org/flink/flink-docs-release-1.2/dev/connectors /guarantees.html这是否意味着我们可以在没有检查点的情况下至少实现一次?我没有找到至少一次处理的任何具体要求。
https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/connectors/datastream/kafka/#starting-offset
https://medium.com/@mitch_datorios/first-time-kafka-flink-integration-stream-processing-insights-b55e0a4858dd