кафка брокерами, так как софт не умеет подключаться к множественным хостам кафки, есть ли какие то подводные камни при проксировании? или же может есть какое то уже отдельное рабочее решение, аля какой нибудь специальный kafka proxy
есть
не подскажите?
Вообще странная затея. Никогда не понимал зачем люди ходят прикрутить General purpose TCP lb для кафки.
дело в том что в софте процессинга, писаный на заказ, не учитывался в тз ранее пункт о том что должен быть коннект к нескольким брокерам (что очень странно и не понятно конечно), но в моей ситуации, пришли и сказали, что есть вот такая проблема, и решить ее тем что бы дописать функционал, пока не представляется возможным, а вопросы о доступности брокера не снимаются, хотят быть уверенными что брокер всегда будет доступен
Это скорее всего дезинформация. Дело в том, что в процессе работы клиенту нужно подключаться ко всем брокерам, и любая библиотека для кафки это учитывает. Что у вас может быть - нельзя в настройках софта указать больше одного адреса бутстрап ноды. Но во-первых можно попробовать указать их через запятую (скорее всего либа это схавает и не подавится), либо действительно сделать вирт. айпи для бутстрапа и указывать его. После подключения к бутстрапу клиент всё равно получит адреса всех нод и подключится ко всем.
Посмотрите envoy proxy там есть модули для разных протоколов, в том числе для балансирования используется.
Спасибо посмотрю
Можете сразу не смотреть, кафка через прокси работать не будет.
Там есть фильтр для протокола Кафки, но я лично не видел живого человека который это использовали. И тем более успешно. Буду рад если у кого-то получится и кто-то про это расскажет
Через Kafka rest как я понял будет
Это не совсем прокси, он только называется так. По сути, это приложение, которое даёт возможность работать с кафкой через http rest api. Просто воткнуть его между брокерами и приложением, которое умеет работать с кафкой, нельзя.
Я haproxy держал 2 года в качестве балансировщика в связке postgres patroni. В случае keepalived у вас активная нода кафки всегда будет одна, а tcp-балансировщик позволит распределять трафик
Keepalived можно повесить на haproxy.
Вы ведь понимаете, что "распределяться трафик" в данном случае будет только при начальном подключении клиента к кафке, и всего трафика там будет - получение адресов брокеров?
Кстати да, похоже я не учёл того, что кафка не даст через лоадбалансер ходить. Т.к. клиенты всё равно пытаются выгрести список и ходить по адресам нод. Потрём сообщения. чтобы больше смуту не наводить
Обсуждают сегодня