Junior — Middle
100
Kas on võimalik kirjutada otse Kafka kindlasse partitsiooni, vältides hashimiseks kasutatavat võtit?
Ettevõtted, kust küsiti
Самокат Тех
Vastus AI-lt
sobes.tech AI
В Apache Kafka можно напрямую указать номер партиции при отправке сообщения, минуя использование ключа для хеширования. При создании сообщения (ProducerRecord) в Kafka Producer API есть параметр partition, который позволяет явно задать, в какую партицию попадёт сообщение.
Если указать partition, то ключ для хеширования не используется для выбора партиции. Это полезно, когда нужно контролировать распределение сообщений по партициям вручную.
Пример на Go с использованием библиотеки sarama:
msg := &sarama.ProducerMessage{
Topic: "my_topic",
Partition: 2, // явно указываем партицию
Value: sarama.StringEncoder("сообщение"),
}
producer.SendMessage(msg)
Таким образом, можно напрямую записывать данные в определённую партицию, если это поддерживает используемая библиотека и API.