Kafka gjennom en proxy: bootstrap virker, broker-tilkoblinger feiler
Forklarer hvorfor en vellykket Kafka-bootstrap ikke gir proxy-tilgang til hver oppdaget broker.
En bootstrap-tilkobling kan lykkes mens Kafka-klienten fortsatt ikke kan produsere eller konsumere. Bootstrap-servere hjelper klienten med å oppdage klyngen; de er ikke nødvendigvis de eneste endepunktene den kontakter.
Broker-metadata inneholder adresser som brukes til senere tilkoblinger. Hvis disse navnene eller portene ikke er tilgjengelige via den tiltenkte proxy-ruten, løser ikke den første vellykkede tilkoblingen resten av jobben.
Les de annonserte endepunktene
Sammenlign bootstrap-adressen med broker-adressene klienten faktisk mottar. Et offentlig bootstrap-alias kan føre til private annonserte navn, og videresending av én lokal port skriver ikke automatisk om hver adresse i metadataene.
Identifiser også proxy-veien som klientimplementasjonen støtter. En Java-system-SOCKS-egenskap er ikke en garanti for at en biblioteks NIO-baserte transport bruker JDK Socket-proxymekanismen. Kontroller den faktiske Kafka-klienten og nettverksintegrasjonen i stedet for å anta at hver Java-socket respekterer samme innstilling.
En proxy-bevisst klient trenger en tillatt rute til de relevante broker-endepunktene. En ordning på nettverksnivå trenger tilsvarende tilgjengelighet og navneoppløsning. Dette er forskjellige design, og ingen av dem leveres bare ved å liste en proxy som bootstrap-server.
Hold sikkerhetsprotokoll og autentiseringsinnstillinger adskilt. En proxy kan etablere en TCP-rute mens TLS-identitet, SASL-autentisering eller broker-autorisasjon fortsatt feiler.
Ved diagnostikk, noter hvilket endepunkt som feilet og om det kom fra statisk konfigurasjon eller returnerte metadata. Den forskjellen snevrer inn problemet mye mer enn å gjentatte ganger endre et endepunkt som allerede var tilgjengelig.