Back to questions
Senior
12
Опишите схему параллельного продления подписок: топик, ключ партиционирования, количество партиций и инстансов консьюмеров
Companies where asked
СБК ПАРУС
Answer from AI
sobes.tech AI
Параллельное продление подписок в системах обмена сообщениями (например, Kafka) строится на следующих компонентах:
- Топик — логическая категория сообщений. Все сообщения с одинаковой темой публикуются в один топик.
- Ключ партиционирования — значение, по которому определяется, в какую партицию попадёт сообщение. Сообщения с одинаковым ключом всегда попадут в одну и ту же партицию, что гарантирует порядок обработки для этого ключа.
- Количество партиций — топик разбивается на несколько партиций для параллелизма. Чем больше партиций, тем выше потенциальная степень параллелизма.
- Инстансы консьюмеров — количество потребителей, которые читают сообщения из топика. Обычно число активных консьюмеров в группе не превышает число партиций, так как одна партиция может быть обработана только одним консьюмером одновременно.
Таким образом, параллельное продление подписок достигается за счёт распределения сообщений по партициям с помощью ключа партиционирования и обработки этих партиций разными инстансами консьюмеров. Это позволяет масштабировать обработку и сохранять порядок сообщений для каждого ключа.
Пример: топик с 4 партициями, ключ партиционирования — userId, 3 инстанса консьюмеров. Сообщения с одним userId попадут в одну партицию и будут обработаны одним консьюмером, а разные userId распределятся по разным партициям и консьюмерам.