System Design - Проектируем OZON распродажу
Как продать 10 000 товаров, если за ними одновременно пришли 10 миллионов покупателей? Проектируем распродажу на примере OZON: от бронирования и оплаты до защиты от перегрузки, продажи лишнего товара и нечестного преимущества ботов. В этом видео: — Как атомарно уменьшить остаток и создать бронь в PostgreSQL — Что даёт Redis с Lua и какие проблемы появляются при работе с двумя хранилищами — SELECT FOR UPDATE, SKIP LOCKED и разделение остатка на несколько счётчиков — Как возвращать неоплаченные товары в продажу: sweeper, Redis TTL и отложенная очередь — Что делать, если оплата и истечение брони происходят одновременно: CAS и Outbox — Как отсекать лишнюю нагрузку до базы данных: CDN, rate limiting, waiting room и очередь заявок — Что считать честной распродажей: FIFO, лотерея или одна единица товара на человека ━━━ Материалы из видео ━━━ Shopify — Резервирование товаров: переход с Redis на MySQL и SKIP LOCKED https://shopify.engineering/scaling-inventory-reservations — Обработка всплесков нагрузки с помощью Nginx и Lua https://shopify.engineering/surviving-flashes-of-high-write-traffic-using-scriptable-load-balancers-part-ii Alibaba — Горячие строки и обработка конкурентных запросов https://www.alibabacloud.com/blog/how-to-process-hot-spot-data-in-e-commerce-scenarios_596491 — Как менялись базы данных Alibaba под нагрузкой распродаж https://www.alibabacloud.com/blog/a-decade-of-evolution-of-alibabas-databases---part-1_594444 Cloudflare — Режимы Waiting Room: FIFO и случайный допуск https://developers.cloudflare.com/waiting-room/reference/queueing-methods/ — Зачем добавили случайный допуск в очередь https://blog.cloudflare.com/waiting-room-random-queueing-and-custom-web-mobile-apps/ Ticketmaster — Заявление компании о продаже билетов на тур Taylor Swift https://business.ticketmaster.com/?p=51362 — Отмена публичной продажи — материал NBC News https://www.nbcnews.com/pop-culture/pop-culture-news/ticketmaster-cancels-public-sale-taylor-swift-tour-citing-high-demand-rcna57758 ━━━ Таймкоды ━━━ 00:00 Введение 06:07 Просмотр товара 08:24 Резервирование товара 13:45 Оплата 17:48 Конкуренция за товар и защита от overselling 29:03 Освобождение истёкших броней 36:25 Обработка миллионов пользователей 44:36 Честность распродажи ━━━━━━━━━━━━ #systemdesign #highload #backend #postgresql #redis #архитектура
Название:
System Design - Проектируем OZON распродажу
Категория:
Разное