У нас есть требование слоя сообщения, и мы хотим, чтобы порядок сообщений сохранялся до тех пор, пока он не будет потреблен потребителем. Мы изучаем Кафку за то же самое. Я понимаю, что Kafka не гарантирует упорядочение по разделам, но внутри раздела он поддерживает порядок.Как сохранить порядок сообщений в Kafka?
Я думал, что каким-то образом мы можем удостовериться, что конкретный производитель (с определенными атрибутами значения ключа) публикует свои сообщения в определенном разделе p1 для темы t1, и если мы сможем убедиться, что пользователь получает сообщения из одного раздела p1. это будет служить нашей цели.
В kafka-console-producer.sh
помощь, я вижу ниже:
--producer-property <producer_prop> A mechanism to pass user-defined
properties in the form key=value to
the producer.
--producer.config <config file> Producer config properties file. Note
that [producer-property] takes
precedence over this config.
--property <prop> A mechanism to pass user-defined
properties in the form key=value to
the message reader. This allows
custom configuration for a user-
defined message reader.
Можем ли мы контролировать раздел, где производитель будет писать на, используя этот --property
вариант?
Также у потребителя высокого уровня мы можем контролировать, из какого раздела он будет потреблять? Как раздел присваивается потребителю?
Используйте общий ключ при создании связанных событий для поддержания порядка в разделе: http://stackoverflow.com/questions/29820384/apache-kafka-order-of-messages-with-multiple-partitions –