数据源和接收器的容错保证
Flink的容错机制在出现故障时恢复程序并继续执行它们。此类故障包括机器硬件故障,网络故障,瞬态程序故障等。
只有当源参与SNAPSHOT机制时,Flink才能保证只对用户定义的状态进行一次状态更新。下表列出了Flink与捆绑连接器相结合的状态更新保证。
请阅读每个连接器的文档,以了解容错保证的详细信息。
资源 | 担保 | 笔记 |
---|---|---|
Apache Kafka | 一次 | 为您的版本使用适当的Kafka连接器 |
AWS Kinesis Streams | 一次 | |
的RabbitMQ | 最多一次(v 0.10)/一次(v 1.0) | |
Twitter Streaming API | 最多一次 | |
集合 | 一次 | |
档 | 一次 | |
套接字 | 最多一次 |
为了保证端到端精确一次的记录传递(除了精确一次的状态语义之外),数据接收器需要参与检查点机制。下表列出了Flink与捆绑接收器的传送保证(假设一次状态更新):
水槽 | 担保 | 笔记 |
---|---|---|
HDFS滚动接收器 | 一次 | 实现取决于Hadoop版本 |
Elasticsearch | 至少一次 | |
Kafka制片人 | 至少一次 | |
卡桑德拉下沉 | 至少一次/恰好一次 | 只有幂等更新一次 |
AWS Kinesis Streams | 至少一次 | |
文件汇 | 至少一次 | |
插座下沉 | 至少一次 | |
标准输出 | 至少一次 | |
Redis下沉 | 至少一次 |