Apache kafka 将卡夫卡偏移量保存到外部存储器的好处

Apache kafka 将卡夫卡偏移量保存到外部存储器的好处,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我正在卡夫卡再平衡中努力挽救消费者地位。我发现javadoc中的伪代码使用外部存储来保存偏移量 我想知道:当使用外部存储而不是Kafka(Zookeeper或\u consumer\u offset)来管理偏移时,是否对系统安全性或健壮性有任何好处(不关心业务逻辑要求),例如更好地处理网络问题?谢谢。在Kafka之外存储偏移的主要用例是当消费应用程序需要同时存储偏移和消费/处理的消息时。这允许通过将两个值(偏移量和消息)组合在一起,对系统进行单次写入(希望是原子写入) 否则,应用程序实际上需要进

我正在卡夫卡再平衡中努力挽救消费者地位。我发现javadoc中的伪代码使用外部存储来保存偏移量


我想知道:当使用外部存储而不是Kafka(Zookeeper或
\u consumer\u offset
)来管理偏移时,是否对系统安全性或健壮性有任何好处(不关心业务逻辑要求),例如更好地处理网络问题?谢谢。

在Kafka之外存储偏移的主要用例是当消费应用程序需要同时存储偏移和消费/处理的消息时。这允许通过将两个值(偏移量和消息)组合在一起,对系统进行单次写入(希望是原子写入)

否则,应用程序实际上需要进行两次“写入”,将消息存储在外部系统中,然后将偏移量存储到Kafka中


这将在

中的部分进行详细解释,谢谢您的回答。我是否可以认为,与2次“写入”相比,单次写入在IO上更有效,并在出现IO问题(例如网络问题)时降低风险或损害?这取决于应用程序的功能。在大多数情况下,回到卡夫卡身边是完全可以的。如果不是,卡夫卡提供了对外承诺的能力。