卡夫卡交易制片人

时间:2018-08-08 17:59:28

标签: apache-kafka

我正在使用Kafka 2,并且正在通过以下链接。

https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging

下面是我为交易生产者提供的示例代码。

我的代码,

3<4 & 5>4 & 12>10

问题:-

  1. 我们是否需要在commitTransaction之后调用endTransaction?
  2. 我们需要调用sendOffsetsToTransaction吗?如果我不包括这个会发生什么?
  3. 当我们将相同的代码部署到具有相同transactionId的多台服务器时,它如何工作?我们是否需要为每个实例设置一个单独的transactionId?假设在beginTransaction()之后和发送少量记录之后,machine1崩溃了吗?具有相同transactionId的machine2如何恢复。
  4. Machine1正在使用transactionId“ test”,并且在beginTransaction()之后以及生成少量记录后崩溃。当出现同一实例时,它如何恢复同一事务?实际上,我们将再次从init开始并开始事务。
  5. 它对于不涉及交易和现在不参与交易的同一主题如何起作用?我正在使用transaction_committed启动新的consumerGroup,它会读取在事务处理之前提交的消息吗?拥有transaction_uncommitted的使用者会看到被事务中止的消息吗?

谢谢

0 个答案:

没有答案