RU

Доставка пива, алгоритм «Октагон» и поиск компании в EDGE: какие архитектуры придумали на Avito Grill & Go

Обычно на митапах всё довольно предсказуемо: доклады, слайды, кофе-брейк и немного общения между ними. Но в прошлом году мы решили перевернуть привы…

gogolangsystem designпроектирование системархитектурамитапhighload
Habr
RU

OLAP OVER HTTP: как отдавать большие аналитические данные через API и не положить сервис

Каждый день в 18:00 клиентам становится доступна отчётность по продажам, и многие одновременно нажимают кнопку «Загрузить отчёт». Это может быть дет…

clickhousehighloadоптимизацияperfomancedatabaseolapвысоконагруженные системыбазы данныхнагрузочное тестированиеozon tech
Habr
RU

Отреверсили проприетарный gRPC и выложили в опенсорс 100% совместимый аналог их сервера, потом CLI

А вы тоже организуете общение между микросервисами по HTTP/1.1 + JSON? Так вот, адекватные люди на хайлоаде давно так не делают. Как это выглядит в…

grpcprotobufмикросервисыopen sourcedevopsreverse engineeringapibufhighload
Habr
RU

Firebase больше не тянет: как мы строили real-time-чаты на Centrifugo

Расскажу, как мы отказались от внешних серверов, безболезненно пережили переезд, избежали сбоев в высокий сезон и сократили расходы на эксплуатацию…

firebasecentrifugohighloadчатымиграция бдwebsocketsreal-timekubernetesmysqlмикросервисы
Habr
RU

Как я сделал mmap-базу для 4 миллионов товаров и 700 тысяч посадочных страниц

Сделал mmap-базу для 4 млн товаров и получил ~35k RPS. Поиск оказался настолько быстрым, что bottleneck пришлось искать уже после базы. В итоге опти…

GommapJSONSilentJSONMakodbпроизводительностьhighloadиндексыshardingСУБД
Habr
RU

От 12 часов к 30 минутам: как мы join’им миллиарды товарных движений в ClickHouse

Всем привет! Меня зовут Муса. Наша команда занимается витринами данных по товарному учёту. Каждый день мы доставляем около 10 млрд записей…

highloadclickhousebackendsystem-designbigdataбазы данныsqlolapархитектура данныхozon tech
Habr
RU

Как VPS с 1 ГБ RAM пережил 1,2 млн запросов за сутки: разбираю «Шакализатор» по слоям

Мой мемный сервис «Шакализатор» победил в премии Яндекс Практикума , но меня больше интересовал другой вопрос: как VPS с одним ядром и 1 ГБ RAM пере…

Node.jsNext.jsNginxVPShighloadкэшированиеограничение конкурентностиgraceful degradationCodexswap
Habr
RU

Как мы делали три консоли для киберигры: опыт разработки новой версии тренажера

Привет! На связи команда Далее . В этой статье расскажем, как мы взяли довольно простую игру-тренажер по кибербезопасности и сделали ее самостоятель…

кибербезинформационная безопасностьконсолиgolangwebrtccentrifugohighloadразработка игрвеб-разработкаархитектура
Habr
RU

Проектирование веб-краулера. Как решать System Design?

Привет! Продолжаю разбирать классические задачи с System Design интервью на стримах (за анонсами можете следить тут ), а это текстовая версия стрима…

system designсис дизСобеседованиеПроектированиеhighloadзадачизадачи для собеседованийmiddleseniorweb crawler
Habr
RU

pg-smart-search: Путь от 8 секунд до 40 мс — Часть 2. Масштабирование до миллиона строк и производственная архитектура

Привет, Хабр! В первой части мы разобрали архитектуру pg-smart-search изнутри: параллельный Promise.race , механизм Zombie Prevention через AbortSig…

postgresnode.jstypescriptgistopensoursehighloadbackend
Habr
RU

[Перевод] System Design: проектируем Rate Limiter, ограничитель запросов

В задаче проектирования Rate Limiter важны сразу несколько вещей: выбор алгоритма лимитирования, централизованное хранение состояния, работа через A…

system designbackendhighloadподготовка к собеседованиюраспределенные системыархитектурапроектирование системсистемный дизайнпаттерны проектированиясобеседования задачи
Habr
RU

[Перевод] System Design: проектируем Dropbox, сервис для хранения и обмена файлами

Самая интересная часть в проектировании Dropbox — не хранение метаданных, а работа с самими файлами: как загружать большие объекты без перегрузки св…

system designbackendhighloadподготовка к собеседованиюраспределенные системыархитектурапроектирование системсистемный дизайнпаттерны проектированиясобеседования задачи