Kafka кроз прокси: bootstrap ради, везе са broker-има не успевају
Објашњава зашто успешна Kafka bootstrap веза не обезбеђује прокси доступност до сваког откривеног broker-а.
Bootstrap веза може успети, а Kafka клијент ипак не може да производи ни троши. Bootstrap сервери помажу клијенту да открије кластер; они нису нужно једине крајње тачке са којима ће се повезати.
Метаподаци broker-а садрже адресе које се користе за касније везе. Ако су та имена или портови недоступни кроз предвиђену прокси руту, прва успешна веза не решава остатак посла.
Прочитајте објављене крајње тачке
Упоредите bootstrap адресу са адресама broker-а које клијент стварно прима. Јавни bootstrap алијас може водити до приватних објављених имена, а прослеђивање једног локалног порта не преписује аутоматски сваку адресу у метаподацима.
Такође утврдите прокси пут који подржава имплементација клијента. Java системско SOCKS својство није гаранција да NIO транспорт библиотеке користи JDK Socket прокси механизам. Проверите стварни Kafka клијент и мрежну интеграцију уместо да претпостављате да сваки Java socket поштује исту поставку.
Клијент који познаје прокси треба дозвољену руту до релевантних крајњих тачака broker-а. Мрежно решење треба одговарајућу доступност и разрешавање имена. То су различити дизајни и ниједан се не добија само навођењем проксија као bootstrap сервера.
Држите поставке безбедносног протокола и аутентификације одвојено. Прокси може успоставити TCP пут док TLS идентитет, SASL аутентификација или авторизација broker-а и даље не успевају.
За дијагностику забележите која крајња тачка није успела и да ли долази из статичке конфигурације или враћених метаподатака. Та разлика сужава проблем много више од поновног мењања крајње тачке која је већ била доступна.