Проєкти під навантаженням

Продукти, які ми розробляємо й підтримуємо. Графіки моделюють їхнє навантаження на основі типової доби: наживо за 15 хвилин і за всю добу з прогнозом. Наведіть курсор або торкніться графіка, щоб побачити значення.

Разом ці продукти обробляють 478,7 млн запитів на добу й обслуговують 605 тис. користувачів щомісяця.

Від 00:00 сьогодні оброблено 0 запитів

Як влаштовані наші системи

Запит користувача проходить через CDN і балансувальник до сервісів. Гаряче береться з кешу, важке йде в чергу й обробляється воркерами.

Користувачівеб · боти · API CDNCloudflare БалансувальникNginx · L7 Сервіс APIGo · pod 1 Сервіс APIGo · pod 2 Сервіс APIGo · pod 3 КешRedis Черга подійKafka База данихPostgreSQL ВоркериGo

Схема спрощена: у кожному проєкті свій набір сервісів, але принцип той самий.

Як ми тримаємо навантаження

П’ять правил, яких дотримуємося в кожному проєкті.

  • Scale-out

    Горизонтальне масштабування

    Сервіси без стану, які можна множити під трафік, замість одного потужного сервера.

  • Cache · Queues

    Кеш і черги

    Гарячі дані лежать у кеші, важкі задачі йдуть в асинхронні черги. База даних отримує лише те, що мусить.

  • Observability

    Спостережуваність

    Метрики, логи й трасування з першого дня, тож проблему видно раніше, ніж вона стає інцидентом.

  • Graceful degradation

    Деградація без падіння

    Якщо залежність відмовляє, система вимикає другорядне й продовжує обслуговувати головне.

  • Load testing

    Тест перед релізом

    Кожен великий реліз проходить навантажувальний тест на трафіку, близькому до реального.

Хочете працювати над такими системами?

Шукаємо інженерів, дизайнерів і маркетологів. Відгук займає хвилину.

Відгукнутися за хвилину