Некоторые различия между Producer API Kafka и библиотекой librdkafka:
- Языки программирования: Producer API доступен на разных языках, в том числе на Java, Python, Go, Node.js и .NET. docs.confluent.io www.educative.io Librdkafka написана на C/C++. docs.confluent.io www.educative.io
- Поддержка API: librdkafka поддерживает только API для администратора, производителя и потребителя, в то время как официальная библиотека Java поддерживает ещё и API для потоков и соединения. docs.confluent.io
- Обработка ошибок: в librdkafka ошибки для каждого параметра обрабатываются напрямую. docs.huihoo.com В Producer API при ошибках конфигурации возникает исключение KafkaException. docs.huihoo.com
- Отправка сообщений: по умолчанию в librdkafka отправка производится в виде пакета — сообщения накапливаются в буфере до достижения определённого объёма или истечения заданного времени. infostart.ru В синхронном режиме этот параметр можно выставить в значение 1 или 0, чтобы отправлять каждое сообщение по отдельности. infostart.ru
- Расход оперативной памяти: так как сообщения забираются библиотекой Librdkafka пакетами и всегда есть внутренний буфер в оперативной памяти, за памятью нужно следить и периодически перезапускать компоненту. infostart.ru
Producer API предоставляет классы и методы для создания и отправки сообщений в топики Kafka, позволяет разработчикам указывать данные сообщений, ключи и метаданные, а также контролировать доставку и подтверждение сообщений. docs.confluent.io