Kafka přes proxy: bootstrap funguje, připojení k brokerům selhávají
Vysvětluje, proč úspěšné bootstrap připojení Kafky nezajišťuje dosažitelnost přes proxy ke každému objevenému brokeru.
Bootstrap připojení může uspět, zatímco klient Kafky stále nemůže produkovat ani konzumovat. Bootstrap servery pomáhají klientovi objevit cluster; nemusí to být jediné koncové body, se kterými se spojí.
Metadata brokeru obsahují adresy používané pro další připojení. Pokud jsou tato jména nebo porty nedostupné přes zamýšlenou proxy trasu, první úspěšné připojení nevyřeší zbytek úkolu.
Přečtěte si inzerované koncové body
Porovnejte bootstrap adresu s adresami brokerů, které klient skutečně dostává. Veřejný bootstrap alias může vést k soukromým inzerovaným jménům a přesměrování jednoho místního portu automaticky nepřepíše každou adresu v metadatech.
Určete také proxy cestu, kterou implementace klienta podporuje. Systémová vlastnost SOCKS v Javě není zárukou, že NIO transport knihovny používá proxy mechanismus JDK Socket. Ověřte skutečného klienta Kafky a síťovou integraci, místo abyste předpokládali, že každý Java socket respektuje stejné nastavení.
Klient, který zná proxy, potřebuje povolenou trasu k příslušným koncovým bodům brokerů. Síťové uspořádání potřebuje odpovídající dostupnost a překlad jmen. To jsou různá řešení a ani jedno nevznikne pouhým uvedením proxy jako bootstrap serveru.
Nastavení bezpečnostního protokolu a autentizace udržujte odděleně. Proxy může vytvořit TCP cestu, zatímco identita TLS, autentizace SASL nebo autorizace brokeru stále selhávají.
Pro diagnostiku si všimněte, který koncový bod selhal a zda pochází ze statické konfigurace nebo z vrácených metadat. Toto rozlišení zúží problém mnohem více než opakované měnění koncového bodu, který už byl dostupný.