Condivisione della tecnologia

[Kafka] Il produttore Kafka ha segnalato un errore dopo aver abilitato l'idempotenza: autorizzazione del cluster non riuscita.

2024-07-11

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

sfondo

  1. Le esigenze aziendali dell'utente richiedono che l'idempotenza del produttore sia abilitata. Il produttore ha aggiunto la configurazione: abilita.idempotenza = true
  2. Il cluster utilizzato dall'utente ha l'autenticazione ACL abilitata: SASL_PLAINTEXT/SCRAM-SHA-512
  3. Quando l'utente produce un messaggio, si verifica un errore: org.apache.kafka.common.errors.ClusterAuthorizationException: Autorizzazione del cluster non riuscita.

risolvere

Configurazione del server

Osservando il codice sorgente di Kafka, ho scoperto che la configurazione del produttore (enable.idempotenza) ha una descrizione:

Se impostato su "true", il produttore assicurerà che venga scritta esattamente una copia di ogni messaggio nel flusso. Se impostato su "false", i nuovi tentativi del produttore dovuti a guasti del broker, ecc., potrebbero scrivere duplicati del messaggio ritentato nel flusso. Nota che l'abilitazione dell'idempotenza richiede