Обмен технологиями

[Kafka] Производитель Kafka сообщил об ошибке после включения идемпотентности: не удалось выполнить авторизацию кластера.

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

фон

  1. Бизнес-потребности пользователя требуют включения идемпотентности производителя. Производитель добавил конфигурацию: Enable.idempotence = true.
  2. В кластере, используемом пользователем, включена аутентификация ACL: SASL_PLAINTEXT/SCRAM-SHA-512.
  3. Когда пользователь генерирует сообщение, возникает ошибка: org.apache.kafka.common.errors.ClusterAuthorizationException: Ошибка авторизации кластера.

решать

Конфигурация сервера

Посмотрев исходный код Kafka, я обнаружил, что конфигурация производителя (enable.idempotence) имеет описание:

Если установлено значение «true», производитель гарантирует, что в поток будет записана ровно одна копия каждого сообщения. Если установлено значение «false», производитель повторяет попытки из-за сбоев брокера и т. д., может записать дубликаты повторного сообщения в поток. Обратите внимание, что включение идемпотентности требует