Kafka a través dun proxy: o bootstrap funciona, as conexións aos brokers fallan
Explica por que unha conexión bootstrap de Kafka correcta non garante o acceso do proxy a todos os brokers descubertos.
Unha conexión bootstrap pode funcionar mentres o cliente de Kafka aínda non pode producir nin consumir. Os servidores bootstrap axudan o cliente a descubrir o clúster; non son necesariamente os únicos puntos finais cos que se conectará.
Os metadatos do broker conteñen enderezos que se usan para conexións posteriores. Se eses nomes ou portos non son accesibles pola ruta de proxy prevista, a primeira conexión correcta non resolve o resto do traballo.
Le os puntos finais anunciados
Compara o enderezo bootstrap cos enderezos de broker que o cliente recibe realmente. Un alias bootstrap público pode levar a nomes anunciados privados, e reenviar un só porto local non reescribe automaticamente todos os enderezos dos metadatos.
Identifica tamén a ruta de proxy que admite a implementación do cliente. Unha propiedade SOCKS do sistema Java non garante que o transporte baseado en NIO dunha biblioteca use o mecanismo proxy de Socket do JDK. Comproba o cliente de Kafka real e a integración de rede en lugar de supor que todos os sockets Java respectan a mesma configuración.
Un cliente consciente do proxy necesita unha ruta permitida aos puntos finais de broker correspondentes. Unha disposición a nivel de rede necesita a conectividade e a resolución de nomes correspondentes. Son deseños distintos e ningún se obtén só listando un proxy como servidor bootstrap.
Mantén separadas a configuración do protocolo de seguridade e a de autenticación. Un proxy pode establecer unha ruta TCP mentres a identidade TLS, a autenticación SASL ou a autorización do broker seguen fallando.
Para diagnosticar, anota que punto final fallou e se provén da configuración estática ou de metadatos devoltos. Esa distinción acouta o problema moito máis que cambiar repetidamente un punto final que xa era accesible.