Kafka只能保证局部有序,即只能保证一个分区里的消息有序。而其具体实现是通过生产者为 每个分区的消息维护一个发送队列,我们需要将保证顺序的消息都发送到同一个分区中。并且 由于Kafka会同时发送多个消息,所以还需指定max.in.flight.requests.per.connection为 1,保证前一个消息发送成功,后一个消息才开始发送。
Kafka只能保证局部有序,即只能保证一个分区里的消息有序。而其具体实现是通过生产者为 每个分区的消息维护一个发送队列,我们需要将保证顺序的消息都发送到同一个分区中。并且 由于Kafka会同时发送多个消息,所以还需指定max.in.flight.requests.per.connection为 1,保证前一个消息发送成功,后一个消息才开始发送。