Проектируем Kaspi Market: 50 000 человек на один айфон
Распродажа. Айфон за полцены, тысяча штук — и 50 000 человек жмут «купить» в одну секунду. Все они бьют в одну строчку в базе. Как не продать тысяча первый айфон и не списать деньги дважды? В этом видео проектирую Kaspi Market с нуля — так, как это ждут от тебя на system design собеседовании: требования → сущности → API → архитектура → deep dive. А между блоками короткие вставки про технологии: idempotency key, optimistic locking, cache-aside, outbox/CDC, at-least-once в Kafka и другие. Что заберёшь из ролика: • порядок решения задачи на собесе, от требований до deep dive • почему Product и Offer — разные сущности, а деньги не хранят во float • Idempotency-Key, PUT vs POST и cursor-пагинация в API • stock gate в Redis: как выдержать 50K запросов на одну строку и не уйти в oversell • резерв с TTL, outbox/CDC и идемпотентный консьюмер: ни одного двойного списания ⚠️ Это учебное проектирование «как бы мы это построили», а не реальная архитектура Kaspi. Я не знаю, как устроен Kaspi внутри; все цифры — мои оценки. 📌 Доска Excalidraw из ролика — в телеграме: [потом добавлю] 💬 Какую систему разобрать следующей? Пиши в комментариях: Яндекс Такси, Telegram, биржа или доставка еды. ⏱ Таймкоды 0:00 Задача: 50 000 человек на один айфон 0:37 Шаг 1. Требования 1:57 — Считаем RPS на салфетке 3:02 — Strong vs eventual consistency 3:39 Шаг 2. Сущности: Product, Offer, Order 4:51 — Деньги не во float 5:25 — Optimistic locking 7:00 Шаг 3. API Design 7:39 — Cursor vs offset пагинация 8:45 — Idempotency-Key 10:23 Шаг 4. High-Level Design 11:22 — Rate limiting (token bucket) 12:28 — Inverted index в Elasticsearch 12:59 — Cache-aside и лаг реплик 15:12 Deep Dive: Hot SKU и stock gate в Redis 16:21 — Атомарность Redis 17:23 Deep Dive: Checkout и оплата без двойного списания 18:05 — Transactional outbox / CDC 18:52 — At-least-once в Kafka Я Арнур, TeamLead большой команды разработки. Разбираю system design на примерах систем, которыми ты пользуешься каждый день. Музыка: "Late Night Radio" Kevin MacLeod (incompetech.com) Licensed under Creative Commons: By Attribution 4.0 License http://creativecommons.org/licenses/by/4.0/ #systemdesign #kaspi #собеседование
Название:
Проектируем Kaspi Market: 50 000 человек на один айфон
Категория:
Разное