数据源和接收器的容错保证

译者:flink.sojb.cn

Flink的容错机制在出现故障时恢复程序并继续执行它们。此类故障包括机器硬件故障,网络故障,瞬态程序故障等。

只有当源参与SNAPSHOT机制时,Flink才能保证只对用户定义的状态进行一次状态更新。下表列出了Flink与捆绑连接器相结合的状态更新保证。

请阅读每个连接器的文档,以了解容错保证的详细信息。

资源 保证 注意
Apache Kafka 一次 为您的版本使用适当的Kafka连接器
AWS Kinesis Streams 一次
的RabbitMQ 最多一次(v 0.10)/一次(v 1.0)
Twitter Streaming API 最多一次
Collections 一次
Files 一次
Sockets 最多一次

为了保证端到端精确一次的记录传递(除了精确一次的状态语义之外),数据接收器需要参与检查点机制。下表列出了Flink与捆绑接收器的传送保证(假设一次状态更新):

汇聚结点 保证 注意
HDFS rolling sink 一次 实现取决于Hadoop版本
Elasticsearch 至少一次
Kafka producer 至少一次
Cassandra sink 至少一次/恰好一次 只有幂等更新一次
AWS Kinesis Streams 至少一次
File sinks 至少一次
Socket sinks 至少一次
Standard output 至少一次
Redis sink 至少一次