Для чего Kafka используется в микросервисной архитектуре и чем это отличается от REST?

Kafka — это распределённая платформа потоковой передачи данных, предназначенная для обработки больших объёмов сообщений с высокой пропускной способностью и низкой задержкой.

Короткий ответ

Что ответить на собеседовании

Kafka — это распределённая платформа потоковой передачи данных, предназначенная для обработки больших объёмов сообщений с высокой пропускной способностью и низкой задержкой.

Подробный разбор

Ответ с пояснениями

Kafka — это распределённая платформа потоковой передачи данных, предназначенная для обработки больших объёмов сообщений с высокой пропускной способностью и низкой задержкой.

Зачем нужна Kafka вместо REST?

  • REST — это синхронный протокол запрос-ответ, хорошо подходит для прямого взаимодействия, но не для асинхронной передачи больших потоков данных.
  • Kafka обеспечивает асинхронную, масштабируемую и отказоустойчивую передачу сообщений между системами.
  • Позволяет строить системы с высокой нагрузкой, где данные обрабатываются в реальном времени.

Как Kafka гарантирует доставку?

  • Использует концепцию партиций и репликации для отказоустойчивости.
  • Поддерживает разные уровни подтверждения доставки (acks): от записи на лидера до записи на все реплики.
  • Клиенты могут контролировать смещения (offsets), что позволяет повторно читать сообщения при необходимости.
  • Гарантирует порядок сообщений внутри партиции.

Таким образом, Kafka подходит для построения надёжных систем обмена сообщениями и потоковой обработки данных, где REST неэффективен из-за синхронности и ограничений по нагрузке.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее