Чай
Web Performance

Было сегодня по работе

Сделал скрин где-то в середине дня

image.png
Это трафик в интернет-магазине. Архитектура моя.
Это трафик в интернет-магазине. Архитектура моя.
Оставлю просто себе на память тут.

Ебада конечно не так немного спроектирована, но в ней тоже заложена отказоустойчивость, хотя это и смешно звучит на фоне падений, но тут немного другая проблема, которую мы на изи бы убрали, займись мы ебадой всерьез

в частности - мы взяли две технологии nextjs и mongodb, которые не сочетаются между собой (своего рода ORM mongoose для mongodb просто напросто плодит коннекты при работе с next.js, из-за чего в системе переполняется число открытых файлов, а ulimit и настройки system service файла почему-то на данной конфигурации бессильны. Чтоб решить эту проблему по быстрому (велосипедом) - мы просто в настройках драйвера понизили число максимально возможных соединений, чем ударили по прозводительности api, а еще перевели приложение из режима cluster в режим fork с одним процессом)

Платформа ебады в некотором смысле экспериментальная песочница, где мы с глебом отрабатывали какие-то навыки, изучали новые технологии и библиотеки и допускали ошибки, из которых делали выводы для будущих проектов

#highload #ebado_tech

p.s. как именно заложена отказоустойчивость ебады - ебада поделена на статику и API. Абсолютно вся логика идет через API - посты, ленты, комментарии, голоса и тд.

В случае, высокой нагрузки, infront of eba.do мы можем поставить CDN по типу cloudflare, таким образом, распределив ударную нагрузку статики + полноценно реализовав SSR-cache для всех постов и посадочных страниц

Bottleneck в таком случае может стать база данных, но в случае высокой нагрузки можно было бы задействовать что-то вроде mongodb atlas с распределенными нодами и репликацией в нескольких datacenters

Frank Ferd

👍(хуйня)

Viytg-da

Интересное.

Комментарии
Пока нету комментариев...