запрашивается удаленно свободный рабочий сервер по rest и в ответе получаем ip и port (это уже сделали)
2) как только получили сервер, подключаемся к кафке и запрашиваем сообщение - вот тут застряли, так как кафка не заточена чтобы ее одиночно дергать, она заточена чтобы листнер постоянно слушал топик. Но нам нелья получать сообщение раньше чем получим доступный сервер на котором сможем исполнить это сообщение (задание).
Не знаем как решить такое..
а точно кафка нужна? судя по описанию - нет
Бахнули распределённый семафор/лок и поехали...
а что мешает дергать конкретный топик/партицию по конкретному оффсету?
ну по идее да, инстансов много.. все в одной группе по идее можно и без кафки, но тогда надо будет растаскивать каждую строчку из монго для отдельного инстанса
трудно контролить оффсет, так как в группе много консюмеров
тогда как мне кажется надо думать другую архитектуру
пожалуй да, будем рандомно брать строку с монго со статусом 0 (ожидает обработки), локать в хэзелкаст, писать новый статус 1 (в работе) и забирать.. видимо и в правду от кафки тут одни страдания
Обсуждают сегодня