Kafka kroz proxy: bootstrap radi, veze s brokerima ne uspijevaju
Objašnjava zašto uspješna Kafka bootstrap veza ne osigurava proxy dostupnost do svakog otkrivenog brokera.
Bootstrap veza može uspjeti, a Kafka klijent ipak ne može proizvoditi ni trošiti. Bootstrap poslužitelji pomažu klijentu otkriti klaster; oni nisu nužno jedine krajnje točke s kojima će se povezati.
Metapodaci brokera sadrže adrese koje se koriste za kasnije veze. Ako su ta imena ili portovi nedostupni kroz predviđenu proxy rutu, prva uspješna veza ne rješava ostatak posla.
Pročitajte objavljene krajnje točke
Usporedite bootstrap adresu s adresama brokera koje klijent stvarno prima. Javni bootstrap alias može voditi do privatnih objavljenih imena, a prosljeđivanje jednog lokalnog porta ne prepisuje automatski svaku adresu u metapodacima.
Također utvrdite proxy put koji podržava implementacija klijenta. Java sistemsko SOCKS svojstvo nije jamstvo da NIO transport biblioteke koristi JDK Socket proxy mehanizam. Provjerite stvarni Kafka klijent i mrežnu integraciju umjesto da pretpostavljate da svaki Java socket poštuje istu postavku.
Klijent koji poznaje proxy treba dopuštenu rutu do relevantnih krajnjih točaka brokera. Mrežno rješenje treba odgovarajuću dostupnost i razrješavanje imena. To su različiti dizajni i nijedan se ne dobiva samo navođenjem proxyja kao bootstrap poslužitelja.
Držite postavke sigurnosnog protokola i autentifikacije odvojeno. Proxy može uspostaviti TCP put dok TLS identitet, SASL autentifikacija ili autorizacija brokera i dalje ne uspijevaju.
Za dijagnostiku zabilježite koja krajnja točka nije uspjela i dolazi li iz statičke konfiguracije ili vraćenih metapodataka. Ta razlika sužava problem mnogo više od ponovnog mijenjanja krajnje točke koja je već bila dostupna.