Все задачи
Средняяsystem-designfixdatabase

Почини: медленная база

Принято: —Решили: 0

Условие

Вам досталась работающая система: балансировщик, три группы серверов и база данных тарифа «m». Днём всё хорошо, но по вечерам при 2000 запросов/с (85 % чтений) пользователи жалуются на таймауты. Измените схему так, чтобы она снова укладывалась в SLO. Решений несколько: вертикально масштабировать базу, поставить кэш или реплику. Бюджет — $2000; чем дешевле, тем больше звёзд.

Ограничения

  • p95 ≤ 250 мс, ошибки ≤ 0,1 %, бюджет $2000/мес, ≤ 5 инстансов на узел.

Требования

СимуляцияПочинить
p95
≤ 250 ms
Ошибки
≤ 0.10 %
Бюджет
$2,000/mo
Пользователей
80,000
Ваша архитектура стоит$925 / $2,000

★ в бюджете · ★★ ≤ 75 % · ★★★ ≤ 50 % бюджета

Сценарии (проверяются по порядку)
  1. 1ДнёмНагрузка

    800 запросов/с в течение 60 секунд: 85 % чтений, 5 % записей, 10 % статики.

    60 s · 800 rps · R 85 / W 5 / S 10 %

  2. 2ВечеромНагрузка

    2000 запросов/с в течение 90 секунд: именно тогда начинаются таймауты.

    90 s · 2,000 rps · R 85 / W 5 / S 10 %

Блоки

Нажмите, чтобы добавить, или перетащите на холст. Соединяйте блоки, протягивая от правой точки к левой.

ИИ-наставник

Застряли? Возьмите подсказку — наставник объясняет идею, но никогда не выдаёт решение.

Решите задачу, чтобы открыть разбор.