внеочередная обработка сообщений в потоках Кафки - PullRequest
0 голосов
/ 04 февраля 2019

Недавно я наткнулся на эту статью о документации Apache Kafka, касающуюся обработки сообщений о неработоспособности в потоках Kafka

https://kafka.apache.org/21/documentation/streams/core-concepts#streams_out_of_ordering

Может кто-нибудь объяснить мне причину следующего утверждения:

В тематическом разделе метка времени записи не может монотонно увеличиваться вместе с их смещениями.Поскольку Kafka Streams всегда будет пытаться обрабатывать записи внутри тематического раздела в соответствии с порядком смещений, это может привести к тому, что записи с большими временными метками (но с меньшими смещениями) будут обрабатываться раньше, чем записи с меньшими временными метками (но с большими смещениями) в той же теме.-partition.

Насколько я понимаю, если сообщения в одном разделе создаются одним производителем, их временная метка должна быть в неубывающем порядке.Почему сообщения не в монотонно возрастающем порядке?

1 Ответ

0 голосов
/ 04 февраля 2019

Производитель Kafka может указать метку времени при создании сообщения.

Пример со стандартным API Java Producer: https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html#ProducerRecord-java.lang.String-java.lang.Integer-java.lang.Long-K-V-

...