Какая очередность сообщений в Kafka

Python Junior Без компании
Какая очередность сообщений в Kafka
Ответы
В Kafka порядок сообщений гарантируется только в пределах одного партиции. В рамках партиции сообщения упорядочены по их offset (монотонно возрастающий номер). Между партициями порядок не гарантируется, так как продюсер может отправлять сообщения в разные партиции параллельно. Пример с кодом: ``` from kafka import KafkaProducer producer = KafkaProducer(bootstrap_servers='localhost:9092') # Сообщения в одной партиции будут упорядочены producer.send('topic', key=b'same_key', value=b'message1') producer.send('topic', key=b'same_key', value=b'message2') # Сообщения с разными ключами могут попасть в разные партиции и порядок не гарантируется producer.send('topic', key=b'key1', value=b'messageA') producer.send('topic', key=b'key2', value=b'messageB') ``` Для строгого порядка всех сообщений используйте: - Топик с одной партицией - Указание одинакового ключа для связанных сообщений - Ожидание подтверждения перед отправкой следующего сообщения (`acks='all'`)