Обновить
147.52

Высоконагруженные системы *

Методы получения высокой производительности систем

Сначала показывать
Порог рейтинга
Уровень сложности

Как перевести 40 распределенных баз 1С из MSSQL в PostgreSQL

Время на прочтение11 мин
Охват и читатели4.2K

Продолжаем публиковать некоторые детали проектов по миграции больших баз данных 1С с MS SQL Server на PostgreSQL. В прошлый раз речь шла о миграции только одной 10+ Тб базы данных 1С с MS SQL на PostgreSQL. Сегодня речь пойдет о проекте миграции на PostgreSQL сразу сорока с лишним распределенных информационных систем 1C с базами размером от 50 Гб до 2 Тб каждая.

Читать далее

Новости

Как работает кэширование промптов — PagedAttention и автоматическое кэширование префикса плюс практические советы

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели6.3K

Prompt caching часто обсуждают как «бонусную опцию» в API-прайсе: мол, попал в кэш — дешевле и быстрее. В статье разбираем, что за этим стоит на самом деле: почему кэш — это не «память диалога», а переиспользование KV-тензоров на уровне одинаковых префиксов, как из этого вырастает PagedAttention/vLLM с блоками и хэш-цепочками, и какие мелкие, но фатальные детали (динамический системный промпт, недетерминированный JSON, перестановка tool defs) мгновенно превращают кэш в тыкву.

Как это устроено

Как DuckDB обрабатывает 1 ТБ данных менее чем за 30 секунд

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.7K

Команда Python for Devs подготовила перевод статьи о том, как DuckDB ломает привычные представления о масштабах аналитических данных. Автор на реальных бенчмарках показывает, что 1 ТБ данных можно агрегировать за считанные секунды — без Spark, без распределённых кластеров и без сложной инфраструктуры.

Читать далее

Как жёсткие правила сборки релизов упростили жизнь инженерам финтеха

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8K

Перевели инфраструктуру Java-разработки высоконагруженного финтеха с SLA 99,99% на доверенный репозиторий компонентов. Это отечественный продукт из экосистемы Axiom JDK. Делимся инженерными деталями этого перехода.

Читать далее

Как обрабатывать 5 млн изменяющихся форм в минуту с SLI 99.99%

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели10K

Всем привет! Меня зовут Кирилл Грищук, я Tech Lead в команде Инфомодели в Авито. Мы занимаемся тем, что обрабатываем формы от пользователей: от 5 млн до 15 млн форм в минуту, а это более 150 тысяч в секунду. 

В этой статье на примере Авито я рассказываю, зачем мы стремимся к SLI 99.99%. Внутри — обзор и сравнение решений по доставке неизменных данных, учитывая специфику нашего сервиса. Показываю на примере форм, какие интересные доработки мы придумали, чтобы достичь этих четырёх девяток, и какие ошибки совершали по пути.

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

Читать далее

pg-status — легковесный микросервис для определения статуса PostgreSQL хостов

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

Привет! Хочу рассказать о своем новом небольшом проекте - pg-status. Это очень легкий и производительный микросервис, который помогает определять статус хостов postgresql. В первую очередь его задача - помочь вашему backend найти живого мастера и достаточно синхронную реплику.

Читать далее

От Чёрного моря до Невы: история одного комьюнити-тура

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.9K

Привет, Хабр!

2025 год выдался богатым на конференции и митапы, которые мы успели посетить, а некоторые даже организовать. В этой статье мы совершим небольшой тур по городам и событиям этого года, важным для нашей команды.

Buckle up, folks!

Читать далее

Чему меня научила разработка C#-клиента для распределённой СУБД Яндекса

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели17K

Привет, Хабр! Меня зовут Кирилл Курдюков, и мы с командой делаем YDB (СУБД Яндекса). Как и с языками программирования, популярность СУБД определяется не только их возможностями, но и экосистемой.

В предыдущей статье я рассказал о том, как разработать Java-клиент для распределённой СУБД и интегрировать его с популярными ORM. А из этой статьи вы узнаете, как под капотом работает ADO.NET, почему управление пулом сессий может сильно влиять на ваш код работы с базой данных и какой стратегии обработки ошибок можно придерживаться для разработки отказоустойчивых сервисов. Статья будет полезна тем, кто изучает особенности взаимодействия в распределённых системах или просто хочет научиться лучше писать клиентский код, работающий с современными распределёнными системами.

Читать далее

Вы строите Lakehouse, а сторадж строит вам проблемы. Что делать?

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели11K

Всем привет! Меня зовут Дмитрий Листвин, я занимаюсь аналитическим хранилищем данных в Авито.

В этой статье я собрал наш опыт построения Lakehouse поверх объектного хранилища, как реальная аналитическая нагрузка быстро превращает «обычный S3» в самый капризный элемент всей архитектуры. Будет много про извлечение максимума производительности из Ceph: как добиться высокой пропускной способности HDD, когда поверх данных хочется запускать тяжёлые аналитические запросы.

Читать далее

Trino в Авито два года спустя: от движка к полноценной экосистеме

Время на прочтение10 мин
Охват и читатели11K

Всем привет! Меня зовут Дмитрий Рейман, я техлид аналитической платформы Avito. Уже третий год мы занимаемся миграцией с Vertica на Trino. Изначально казалось, что это будет просто: перенесём запросы, перепишем коннекторы, чуть подправим пайплайны.

Но за два с лишним года миграция перестала быть просто миграцией: проект разросся в инженерную одиссею, и вокруг Trino мы начали строить целую экосистему. Как это было — рассказываю под катом.

Читать далее

«Кажется, тупит сеть. Посмотрите?» — как мы мониторим летенси в Ingress

Уровень сложностиСложный
Время на прочтение23 мин
Охват и читатели6.5K

В 2023 году к нам регулярно приходили разработчики с вопросом: «Кажется, тупит сеть. Посмотрите?» Вопросы были по делу, и каждый раз отвечать было сложно. Когда тойл от подобных обращений превысил разумные пределы, мы решили разработать SLO на летенси в Ingress. Но оказалось, что это не так уж просто.

Читать далее

Есть ли жизнь после Vertica или миграция DWH в Lakehouse

Время на прочтение17 мин
Охват и читатели10K

Всем привет! Меня зовут Дмитрий Рейман, я техлид аналитической платформы Авито. Мы строим систему общего назначения, которая одновременно обслуживает ETL, витрины, BI, ad-hoc аналитику и продуктовые платформы.

И в какой-то момент мы столкнулись с неприятным эффектом: объём данных начал расти заметно быстрее, чем органический рост, на который мы ориентировались раньше. Модель классического on-prem DWH перестала масштабироваться линейно: борьба за ресурсы мешала давать гарантии готовности данных; локальные оптимизации давали всё меньший эффект; любой рост требовал масштабирования “по месту” и приводил к длительным простоям аналитики.

Стало понятно, что дальнейший рост в рамках прежней архитектуры будет только усиливать эти эффекты. Именно так мы пришли к необходимости сменить базовую парадигму хранилища и начать движение в сторону Lakehouse-архитектуры. О том, как это было, читайте под катом.

Читать далее

Ассемблер для гоферов. Стек. Особенности amd64, arm64 и arm. Часть 3

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

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

Читать далее

Ближайшие события

«У нас всё отлично»: как поверхностный аудит выявляет архитектурные риски на ранних этапах

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.5K

Мне довелось выступить техническим экспертом на бизнес-акселераторе Genesis: IT & Telecom в СибГУТИ.

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

Читать далее

Интеграционный маршрут подарков на Новый год — чудо случится в срок

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.3K

Декабрь… месяц, когда ощущаешь волшебство везде — в первом снеге, в зимнем какао, в запахе хвои, в разноцветных огоньках гирлянд, в шорохе упаковочной бумаги, в улыбках прохожих. Это пора, когда даже самые серьезные взрослые лиды и синьоры, будто на мгновение превращаются в детей, верящих в чудеса стабильной работы новогодних релизов обновления ИТ‑ландшафта. ИТ‑мир становится волшебнее, а волшебный мир — технологичнее. Мы верим в Деда Мороза и его верных помощников, которые создают новогоднюю сказку, а что если и до волшебного мира добрались инновации? А может Дед Мороз — это самый продвинутый айтишник?

Для организации волшебной сказки для детей и взрослых команда Деда Мороза готовится целый год. Круглый год главный волшебник получает письма с заветными желаниями, к декабрю можно насчитать уже миллиарды запросов на подарки. Наш Дед Мороз «идет в ногу» с современными технологиями, поэтому у него есть секретные ИТ‑системы для автоматизации волшебных процессов, построенных на магическом open source‑коктейле, включающем заморского оленя Рудольфа — Apache NiFi, с отечественными patch‑подковами и упряжкой компонентов ручной работы талантливых мастеров.

Центр управления новогодним волшебством «хо‑хо»

Один из ИТ‑помощников Деда Мороза — это интеграционная платформа, эдакий центр управления волшебством, который помогает справляться с миллиардами запросов и правильно их обрабатывать в новогодний пик, гарантируя доставку писем в одну сторону и подарков в обратную. Словно сказочный диспетчер чудес, платформа распределяет потоки пожеланий, следит, чтобы ни одно письмо не осталось без ответа, а каждый подарок добрался до получателя точно в срок. Давайте попробуем разобраться в задачах слаженного волшебного процесса.

Читать далее

Больше 1 млн запросов в секунду на Go: уроки продакшена

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели14K

Команда Go for Devs подготовила перевод статьи о том, как построить Heavy-Read API на Go, способный обрабатывать более 1 млн запросов в секунду. Автор делится продакшен-архитектурой распределённого In-Memory Cache, показывает, как убрать БД и Redis из критического пути чтения, и объясняет, за счёт каких оптимизаций удаётся добиться субмиллисекундных задержек. Практика, цифры и реальные уроки из продакшена.

Читать далее

Разбираемся с новой мощной платой Orange Pi 6 Plus на базе Armv9 Cix P1 CD8160

Уровень сложностиПростой
Время на прочтение29 мин
Охват и читатели16K

Компания Shenzhen Xunlong Software выпустила новую open-source плату на базе 12-ядерного высокопроизводительного процессора Armv9 Cix P1 CD8160. Плата предыдущего поколения Orange PI 5 построена на Rockchip RK3588. Новый процессор Cix P1 состоит из 8 ядер Cortex‑A720 и 4-х Cortex‑A520, и обещает прирост производительности на 300% по сравнению с последним Rockchip RK3588. Ядро Cortex‑A720 было впервые представлено публике в 2023 году и через два года уже готова плата на новых процессорных ядрах. Из коробки работает UEFI/TianoCore EDK II (ED2) с запуском Debian, Android, Windows 11. Под катом разберемся с новой архитектурой Armv9, рассмотрим процессор Cix P1, оценим производительность новой платы и сравним с предыдущим поколением, платой Orange PI 5 Plus.

Читать далее

Архитектурный квиз: костыль или элегантное решение?

Время на прочтение15 мин
Охват и читатели12K

Отказоустойчивый и масштабируемый энтерпрайз невозможно спроектировать по книжкам. Одно и то же решение может фигурировать и в best, и в bad practice — и, что забавно, иногда переходит из одного списка в другой. Ещё недавно монолиты считались злом, а теперь снова в моде.

Хотите посмотреть, как знакомые паттерны ведут себя в реальном контексте?

Чтобы показать это на практике, я собрала три инженерных кейса. Каждый оформлен в формате детективного квиза: роль, фабула, вопросы на размышление, разбор и выводы. Попробуйте разобраться в проблеме, пройти тест и определить: где костыль, где инженерный компромисс, а где — настоящая best practice.

Читать далее

Retention в Kafka: Почему сообщения живут дольше, чем вы думаете?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.4K

Вы настроили retention.ms = 86400000 (24 часа) и отправили тестовое сообщение. Через сколько времени реально удалится сообщение?

Читать далее

MASQUE VPN: от эксперимента к полноценной реализации

Время на прочтение6 мин
Охват и читатели21K

MASQUE интересен не как «ещё один VPN», а как пример того, куда движется транспортный уровень интернета.

За три недели экспериментальный прототип превратился в полноценную реализацию с тестами, метриками и документацией, делимся результатами.

Читать далее
1
23 ...

Вклад авторов