Een bootstrapverbinding kan slagen terwijl de Kafka-client nog steeds niet kan produceren of consumeren. Bootstrapservers helpen de client het cluster te ontdekken; ze zijn niet noodzakelijk de enige eindpunten waarmee hij verbinding maakt.

Broker-metadata bevat adressen die voor latere verbindingen worden gebruikt. Als die namen of poorten niet bereikbaar zijn via de bedoelde proxyroute, lost de eerste geslaagde verbinding de rest van het werk niet op.

Lees de aangekondigde eindpunten

Vergelijk het bootstrapadres met de brokeradressen die de client daadwerkelijk ontvangt. Een openbare bootstrapsalias kan naar privé aangekondigde namen leiden, en het doorsturen van één lokale poort herschrijft niet automatisch elk adres in de metadata.

Identificeer ook de proxyroute die de clientimplementatie ondersteunt. Een Java-systeem-SOCKS-eigenschap is geen garantie dat de NIO-gebaseerde transportlaag van een bibliotheek het Socket-proxymechanisme van de JDK gebruikt. Controleer de werkelijke Kafka-client en netwerkintegratie in plaats van aan te nemen dat elke Java-socket dezelfde instelling respecteert.

Een proxybewuste client heeft een toegestane route naar de relevante brokereindpunten nodig. Een regeling op netwerkniveau vereist overeenkomstige bereikbaarheid en naamresolutie. Dat zijn verschillende ontwerpen, en geen van beide wordt geleverd door alleen een proxy als bootstrapserver te vermelden.

Houd de instellingen voor beveiligingsprotocol en authenticatie gescheiden. Een proxy kan een TCP-route opzetten terwijl TLS-identiteit, SASL-authenticatie of brokerautorisatie nog steeds mislukken.

Noteer bij diagnose welk eindpunt is mislukt en of het uit statische configuratie of uit teruggegeven metadata kwam. Dat onderscheid beperkt het probleem veel meer dan het herhaaldelijk wijzigen van een eindpunt dat al bereikbaar was.

Gerelateerde artikelen