Войти Регистрация
System design

31. Биллинг подписки СберПрайм

Средняя

Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Подписчик платит 399 ₽ в месяц. В день продления биллинг списывает деньги с привязанной карты и продлевает доступ к сервисам партнёров.

Для расчёта: 10 млн подписчиков. Продления размазаны по дням месяца, но 20 % подключились по акции первого числа, и все они продлеваются в одну ночь. Списания идут с 00:00 до 08:00.

У 7 % списаний не хватает денег на карте. Человек получает зарплату 5-го или 20-го и ждёт, что подписка не пропадёт на эти дни.

В работе: Подписка даёт кино, музыку и скидки на доставку, и каждый месяц банк должен продлить её списанием с карты.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
биллингидемпотентностьпланировщикповторные списаниямашина состояний

Источник: на задачах Сбера: подписка с ежемесячным списанием. Условие пересказано своими словами.

  1. Уточнить требования — Что выяснить до схемы?
  2. Оценить нагрузку
  3. Двойное списание — Задача продления упала после запроса в процессинг, ответ не получен. Как не списать дважды?
  4. Недостаточно средств — Как повторять списание, если на карте не хватило денег?
  5. Схема — Опишите хранение подписок, планировщик продлений и машину состояний.