Член программного коммитета конференции Ural Digital Weekend • Веду подкаст «Кода кода» https:/ /podcast.ru/1551786898 Пара слов обо мне Виктор Корейша
Собран item №2 1. Заказ №1 Поступил в работу 5. Заказ №3 Поступил в работу 7. Заказ №3 Собран item №4 3. Заказ №2 Поступил в работу 6. Заказ №2 Собран item №3 8. Заказ №2 Собран item №3 Продюсер
Собран item №2 1. Заказ №1 Поступил в работу 5. Заказ №3 Поступил в работу 7. Заказ №3 Собран item №4 3. Заказ №2 Поступил в работу 6. Заказ №2 Собран item №3 8. Заказ №2 Собран item №3 Продюсер
Собран item №2 1. Заказ №1 Поступил в работу 5. Заказ №3 Поступил в работу 7. Заказ №3 Собран item №4 3. Заказ №2 Поступил в работу 6. Заказ №2 Собран item №3 8. Заказ №2 Собран item №3 Продюсер
item №2 1. Заказ №1 Поступил в работу 5. Заказ №3 Поступил в работу 7. Заказ №3 Собран item №4 3. Заказ №2 Поступил в работу 6. Заказ №2 Собран item №3 8. Заказ №2 Собран item №3 Продюсер 0 1 2 Офсет 0 1 2 Партиция Консьюмер- группа Бухгалтерия Консьюмер- группа Склад
данных 3. Topic — Наименование потока данных, в котором кафка хранит сообщения на определенную тему 4. Partition — Дополнительный логический блок используемый для параллельной вычитки сообщений 5. O ff set — Cообщение записанное в партицию Термины 21
Kafka Cluster — логическое объединение kafka брокеров 3. Leader — Партиция из которой осуществляется вычитка и запись 4. Replica — Копия лидер партиции, используется для обеспечения резервирования Термины 25
консьюмерами — данные в Kafka могут храниться днями, неделями, годами. Благодаря этому одно и то же сообщение может быть обработано сколько угодно раз разными консьюмерами и в разных контекстах. 28
Type: long • Default: -1 (без ограничений) • Max: 9223372036854775807 2. Ограничиваем по времени • retention.ms • Type: long • Default: 604800000 (7 дней) • Min: -1 • Max: 9223372036854775807 Cleanup Policy 1. Delete • Удалять сегменты либо при истечении срока их хранения, либо при достижении предельного размера 2. Compact • Включает log compaction, который сохраняет последнее значение для каждого ключа
продюсере Сжатие на брокере compression.type gzip, snappy, lz4 и zstd gzip, snappy, lz4 и zstd Сеть Нагрузка снижается Не меняется Место на диске Меньше места на диске Меньше места на диске Ресурсы Процессор продюсера (скейлится) Процессор брокера (ограничен в скейлинге)
• Если не удается получить контрольный сигнал от консьюмера до истечения session.timeout.ms, запускается раунд ребалансировки • Частота с которой консьюмеры сообщают о работоспособности задается в heartbeat.interval.ms • max.poll.interval.ms — время, в течение которого консьюмер может бездействовать, прежде чем получить дополнительные записи. Как брокер понимает, что консьюмер выбыл? 55
к сообщению и консюмеру 69 Неисправимые ошибки Все равно будут случаться, независимо от того, сколько раз мы попробуем повторно выполнить операцию Консьюмер Консьюмер Другие Так нейросеть изобразила прочие ошибки в очереди сообщений в стиле супрематизм