Spring Kafka生产者是否默认保证交货?

时间:2019-05-29 07:57:23

标签: spring-boot spring-kafka

我想知道spring kafka中的spring boot生产者是否保证交付。

有人知道如果某个随机侦听器无法接收消息会发生什么? spring kafka会重试发送消息吗?

1 个答案:

答案 0 :(得分:0)

这里有一些概念:

  1. 生产者将产生事件并将其发送到kafka服务器。如果Kafka会出现停机或特定于您的上下文的其他错误情况,则必须在生产者方面注意重试以及类似的事情。
  2. 消费者将通过Kafka分配分区,每个分区将传递事件,每个事件将具有偏移量。消费者将轮询来自kafka的数据(他们将请求数据,kafka不会将数据推送给消费者,但是消费者将前往kafka并要求数据)。卡夫卡成功交付给消费者的每个事件都将产生,致谢和卡夫卡将承担该事件的补偿。因此,下一个具有较高喜怒哀乐的事件将传递给消费者。如果使用方发生故障,分区将重新分配给其他使用方,因此您不会丢失数据。如果只有一个使用者,则数据将存储在Kafka中,当该使用者回来时,它将去向最新/最早的偏移量请求数据。