Візьмемо це по порядку :)
1 - Коли виробник виробляє повідомлення - Він визначатиме тему, на яку хоче надіслати повідомлення, чи правильно це? Дбає про перегородки?
За замовчуванням виробник не переймається розділенням. У вас є можливість використовувати індивідуальний роздільник для кращого контролю, але це абсолютно необов’язково.
2 - Коли працює абонент - чи вказується його ідентифікатор групи, щоб він міг бути частиною кластеру споживачів тієї самої теми або декількох тем, які цікавлять цю групу споживачів?
Так, споживачі приєднуються (або створюють, якщо вони одні), до групи споживачів для розподілу навантаження. Жоден два споживачі в одній групі ніколи не отримають одне і те ж повідомлення.
3 - Чи кожна група споживачів має відповідний розділ у брокера чи у кожного споживача є такий?
Ні. Всім споживачам групи споживачів присвоюється набір розділів за двох умов: жоден споживач в одній групі не має спільних розділів - а споживчій групі в цілому присвоюється кожен існуючий розділ.
4 - Чи створені брокером перегородки не викликають занепокоєння споживачів?
Їх немає, але з 3 ви бачите, що мати більше споживачів, ніж існуючі перегородки, абсолютно марно, тож це ваш максимальний рівень паралелізму для споживання.
5 - Оскільки це черга зі зміщенням для кожного розділу, чи несе споживач обов'язок вказати, які повідомлення він хоче прочитати? Чи потрібно врятувати свою державу?
Так, споживачі зберігають компенсацію за темою на розділ. З цим повністю справляється Кафка, жодних турбот з цього приводу.
6 - Що відбувається, коли повідомлення вилучається з черги? - Наприклад: Утримання тривало 3 години, потім проходить час, як обробляється зміщення з обох сторін?
Якщо споживач коли-небудь вимагає компенсації, недоступної для розділу у посередників (наприклад, через видалення), він переходить у режим помилок і в кінцевому підсумку скидає для цього розділу або найновіше, або найдавніше доступне повідомлення (залежно від значення конфігурації auto.offset.reset) та продовжуйте роботу.