Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.
Почему нельзя было просто масштабировать синхронные API, добавить экземпляры приложения или мощности БД вместо Kafka?
Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.
Если допустима задержка результата, очередь помогает пережить пик и обработать его позже. Но она не увеличивает пропускную способность конечного ресурса: без догоняющей мощности lag будет расти. Для немедленного ответа синхронная архитектура может быть проще. Выбор обосновывают SLO, replay, пиковым профилем и эксплуатационной стоимостью.