чтобы 1 сообщение забрало сразу 2 потока? нужно чтобы только один поток смог забрать сообщение, как забрал удалить его с топика
мне в голову приходит только идея с локами в кеше, есть более нативные для кафки способы?
consumer.pause() ?
Сделать им одну группу потребителей. Не?
то есть к примеру в топике у меня 20 партиций, делаю 20 групп, делаю 20 консюмеров которые будут читать с топика, и соответсвенно каждому потребителю по 1 сообщению придет, верно мыслю? если верно, то момент есть, к примеру у меня будет около 300 контейнеров с приложениями, каждое приложение на 20 потоков скажем как быть тогда? топик-то один.. если несу бред прошу простить, я не такой опытный пока еще в кафке
1 группа - все сообщения
Там главное добиться баланса между количеством партиций и косьюмеров в рамкой одной консьюм группы(количество партиций>=количество косьюмеров в консьюм группе). Иначе кафка постоянно будет уходить в ребалансировку, на консьюмерах будут рекконекты и ничего хорошего из этого не выйдет. На сколько консьюм групп поделены 300 контейнеров? Как я понял это не экземпляры одного приложения
300 контейнеров, у каждого контейнера по 14 потоков, выходит мне делать 4200 консюмеров и партиций?
Каждый поток приложения создает свой коннект и консьюмера?
что это за 14 потоков, кто их создает и зачем?
Если это так то это самая странная реализация которую я видел
коннект общий, консюмеров 14 на каждый контейнер https://pastebin.com/zsTEgi7w
а как подобное решение ты собрался скейлить?
Обсуждают сегодня