Sobes.tech
Back to questions
Senior
12

Опишите схему параллельного продления подписок: топик, ключ партиционирования, количество партиций и инстансов консьюмеров

Companies where asked
СБК ПАРУС

Answer from AI

sobes.tech AI

Параллельное продление подписок в системах обмена сообщениями (например, Kafka) строится на следующих компонентах:

  • Топик — логическая категория сообщений. Все сообщения с одинаковой темой публикуются в один топик.
  • Ключ партиционирования — значение, по которому определяется, в какую партицию попадёт сообщение. Сообщения с одинаковым ключом всегда попадут в одну и ту же партицию, что гарантирует порядок обработки для этого ключа.
  • Количество партиций — топик разбивается на несколько партиций для параллелизма. Чем больше партиций, тем выше потенциальная степень параллелизма.
  • Инстансы консьюмеров — количество потребителей, которые читают сообщения из топика. Обычно число активных консьюмеров в группе не превышает число партиций, так как одна партиция может быть обработана только одним консьюмером одновременно.

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

Пример: топик с 4 партициями, ключ партиционирования — userId, 3 инстанса консьюмеров. Сообщения с одним userId попадут в одну партицию и будут обработаны одним консьюмером, а разные userId распределятся по разным партициям и консьюмерам.