Kafka kroz proxy: bootstrap radi, veze sa brokerima ne uspevaju
Objašnjava zašto uspešna Kafka bootstrap veza ne obezbeđuje proxy dostupnost do svakog otkrivenog brokera.
Bootstrap veza može uspeti, a Kafka klijent ipak ne može da proizvodi ni troši. Bootstrap serveri pomažu klijentu da otkrije klaster; oni nisu nužno jedine krajnje tačke sa 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 uspešna veza ne rešava ostatak posla.
Pročitajte objavljene krajnje tačke
Uporedite bootstrap adresu sa adresama brokera koje klijent stvarno prima. Javni bootstrap alias može voditi do privatnih objavljenih imena, a prosleđivanje jednog lokalnog porta ne prepisuje automatski svaku adresu u metapodacima.
Takođe utvrdite proxy put koji podržava implementacija klijenta. Java sistemsko SOCKS svojstvo nije garancija da NIO transport biblioteke koristi JDK Socket proxy mehanizam. Proverite stvarni Kafka klijent i mrežnu integraciju umesto da pretpostavljate da svaki Java socket poštuje istu postavku.
Klijent koji poznaje proxy treba dozvoljenu rutu do relevantnih krajnjih tačaka brokera. Mrežno rešenje treba odgovarajuću dostupnost i razrešavanje imena. To su različiti dizajni i nijedan se ne dobija samo navođenjem proxyja kao bootstrap servera.
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 uspevaju.
Za dijagnostiku zabeležite koja krajnja tačka nije uspela i da li dolazi iz statičke konfiguracije ili vraćenih metapodataka. Ta razlika sužava problem mnogo više od ponovnog menjanja krajnje tačke koja je već bila dostupna.