Коллеги добрый день! Есть необходимость поставить балансер по типу haproxy/nginx перед

кафка брокерами, так как софт не умеет подключаться к множественным хостам кафки, есть ли какие то подводные камни при проксировании? или же может есть какое то уже отдельное рабочее решение, аля какой нибудь специальный kafka proxy

15 ответов

22 просмотра

есть

_- Автор вопроса
Сергей Голод
есть

не подскажите?

Вообще странная затея. Никогда не понимал зачем люди ходят прикрутить General purpose TCP lb для кафки.

_- Автор вопроса
Vik Gamov
Вообще странная затея. Никогда не понимал зачем лю...

дело в том что в софте процессинга, писаный на заказ, не учитывался в тз ранее пункт о том что должен быть коннект к нескольким брокерам (что очень странно и не понятно конечно), но в моей ситуации, пришли и сказали, что есть вот такая проблема, и решить ее тем что бы дописать функционал, пока не представляется возможным, а вопросы о доступности брокера не снимаются, хотят быть уверенными что брокер всегда будет доступен

_
дело в том что в софте процессинга, писаный на зак...

Это скорее всего дезинформация. Дело в том, что в процессе работы клиенту нужно подключаться ко всем брокерам, и любая библиотека для кафки это учитывает. Что у вас может быть - нельзя в настройках софта указать больше одного адреса бутстрап ноды. Но во-первых можно попробовать указать их через запятую (скорее всего либа это схавает и не подавится), либо действительно сделать вирт. айпи для бутстрапа и указывать его. После подключения к бутстрапу клиент всё равно получит адреса всех нод и подключится ко всем.

Посмотрите envoy proxy там есть модули для разных протоколов, в том числе для балансирования используется.

_- Автор вопроса
_
Спасибо посмотрю

Можете сразу не смотреть, кафка через прокси работать не будет.

Вячеслав
Можете сразу не смотреть, кафка через прокси работ...

Там есть фильтр для протокола Кафки, но я лично не видел живого человека который это использовали. И тем более успешно. Буду рад если у кого-то получится и кто-то про это расскажет

_- Автор вопроса
_
Через Kafka rest как я понял будет

Это не совсем прокси, он только называется так. По сути, это приложение, которое даёт возможность работать с кафкой через http rest api. Просто воткнуть его между брокерами и приложением, которое умеет работать с кафкой, нельзя.

Я haproxy держал 2 года в качестве балансировщика в связке postgres patroni. В случае keepalived у вас активная нода кафки всегда будет одна, а tcp-балансировщик позволит распределять трафик

Evgeniy Simigin
Я haproxy держал 2 года в качестве балансировщика ...

Вы ведь понимаете, что "распределяться трафик" в данном случае будет только при начальном подключении клиента к кафке, и всего трафика там будет - получение адресов брокеров?

Вячеслав
Вы ведь понимаете, что "распределяться трафик" в д...

Кстати да, похоже я не учёл того, что кафка не даст через лоадбалансер ходить. Т.к. клиенты всё равно пытаются выгрести список и ходить по адресам нод. Потрём сообщения. чтобы больше смуту не наводить

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
Или зателаешь в Шелл контейнера ?
Vladimir 
3
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Карта сайта