uncing-the-apache-flink-1-4-0-release">Flink 1.4.0</a>, both the Pravega and Kafka 0.11 producers provide exactly-once semantics; Kafka introduced transactions for the first time in Kafka 0.11, which is what made the Kafka exactly-once producer possible in Flink.</li>
<li>The <a href="//nightlies.apache.org/flink/flink-docs-release-1.4/dev/connectors/kafka.html#kafka-011">Kafka 0.11 producer</a> is implemented on top of the <code>TwoPhaseCommitSinkFunction</code>, and it offers very low overhead compared to