Почему в этом проекте вы выбрали Kafka, а не RabbitMQ, Redis или BullMQ?
Kafka имеет смысл, когда нужен сохраняемый поток событий, повторное чтение истории и независимые группы потребителей.
Читать ответПодготовка к интервью
889 вопросов по System Design
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Каталог
Kafka имеет смысл, когда нужен сохраняемый поток событий, повторное чтение истории и независимые группы потребителей.
Читать ответПоток строится как проверка входящего события → надёжное сохранение → обработка → обновление состояния и фиксация результата.
Читать ответСобытие должно переживать падение процесса, а изменение данных и отметка об обработке — фиксироваться атомарно.
Читать ответДва независимых вызова записи не гарантируют, что данные окажутся сразу в обеих базах.
Читать ответЧтобы получить пользу от реплик, приложение должно направлять подходящие запросы чтения на них, а запись — на основной узел.
Читать ответВходящее событие считается недоверенным, пока не проверены его источник, формат и обязательные поля.
Читать ответПроследите одну проблемную заявку от одобрения до записи в календаре по общему идентификатору.
Читать ответДля событийной интеграции нужны бизнес-сущности, журнал входящих событий и история изменений состояния.
Читать ответСостояние нельзя обновлять только по порядку прихода событий: поздно доставленное событие может быть устаревшим.
Читать ответВ DWH информация о заказах такси смоделирована следующим образом.
Читать ответАрхитектурная задача: идентификация на кассе, переход в банк, подтверждение оплаты и обработка неопределённого результата без повторного списания.
Читать ответПубличная точка входа, закрытые сервисы и БД, минимальные разрешённые потоки. Почему браузерный фронтенд нельзя считать доверенным сетевым сегментом.
Читать ответ