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

Анатомия HurriCache

HurriCache это распределенная key-value база данных с поддерожкой как простых типов ключ значение так и конейнеров, блокировок, работы с atomics и м…

highloadcachinginmemorygrpckey-valuelatency
Habr
RU

Как я ускорил работу с топом-пользователей с 36 минут до 20 секунд, используя Redis Sorted Set

Всем привет, меня зовут Михаил, я работаю Java/Kotlin разработчиком в ОТП Банке. Все мы знаем про Redis. Часто используем его для in-memory кэша. В…

javaredishighloadвысоконагруженные системыоптимизацияоптимизация кодаоптимизация запросовhighload systemsspringspring boot
Habr
RU

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

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

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

Go без мифов: переход с C++, highload, рынок, зарплаты и путь разработчика — интервью с Владимиром Балуном

Go часто называют простым языком. Но простота синтаксиса не отменяет конкурентности, рантайма, сборщика мусора, интерфейсов, особенностей памяти и р…

GoGolangC++highloadгорутиныObservabilitybackendмикросервисыкарьера разработчикапереход на Go
Habr
RU

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

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

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

Почему JSON на практике — быстрый формат для баз данных (если выкинуть лишние абстракции)

Мы привыкли считать JSON «медленным» текстовым форматом, удобным исключительно для людей. Мы используем его для REST API, конфигурационных файлов и…

gomakodbshared memoryhighloadjsonzero allocationоптимизациябазы данныхсистемное программированиеасинхронность
Habr
RU

От полной выгрузки к S3 и PostgreSQL: как мы доставляем гигабайты данных в память подов

Представьте себе высоконагруженный сервис, который решает, с какого из множества складов нужно отправить товар покупателю. В пике через него проходи…

highloadbackendgolanggoпроектирование системпрограммированиевысоконагруженные системыozon tech
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

Девять испытаний роста нагрузки: от стартапа к приложению для 25 миллионов пользователей

Эта статья совсем не технический анализ, а увлекательный рассказ о том, как маленький, но очень перспективный стартап стал топовым приложением, а та…

highloadмикросервисыlatencypostgresqlelasticsearchkuberneteshpaбалансировка нагрузкинагрузочное тестированиеobservability