Привет, Хабр! Меня зовут Максим Уймин, в этой статье я расскажу про почту, про распределенные очереди, немножко про FUSE и файловые системы.

Высоконагруженные системы *
Методы получения высокой производительности систем
Новости
Что такое снапшоты в СХД и как мы их реализовали в TATLIN.BACKUP

Еще год назад мы считали, что снапшоты без репликации не являются приоритетом для нашей команды. Но практика показала обратное: вирусы-шифровальщики, сбои и ошибки могут повредить резервные копии и нарушить их целостность. Чтобы защитить данные и дать возможность быстро восстановить их в неизменном виде, мы реализовали поддержку снапшотов в TATLIN.BACKUP. Новый функционал уже доказал свою эффективность и получил положительные отзывы клиентов.
Меня зовут Ростислав, я эксперт по разработке ПО отдела систем обработки данных в YADRO. Сегодня разберемся, как устроены наши снапшоты и какие у них особенности. Для этого совершим экскурс в мир систем хранения данных (СХД) и рассмотрим их устройство.
RabbitMQ как инструмент «деградации с честью»

Как построить микросервисы на RabbitMQ так, чтобы система не падала каскадом, а деградировала предсказуемо: outbox, mandatory, AE, идемпотентность, DLQ, приоритеты и реальные грабли из продакшена
Как мониторить сотни инстансов PostgreSQL и не сойти с ума

Если вы инженер в крупной компании, а особенно если ваша организация поставляет свои услуги в виде SaaS-решений, то вам так или иначе придется решать задачу мониторинга работы всех ваших баз PostgreSQL. На них часто бывает завязан функционал, важный для компании с точки зрения финансовых рисков, поэтому крайне желательно организовать не только мониторинг, но и получение уведомлений, когда что-то идет не по плану (или пойдет в ближайшем будущем). В рамках статьи мы рассмотрим несколько способов, как это можно сделать: самостоятельно, с использованием уже привычного стека Prometheus + Grafana, либо подключая сторонние open-source специализированные решения для мониторинга PostgreSQL, либо же используя специализированные платные решения. По каждому варианту поймем все плюсы и минусы, чтобы вы cмогли более уверенно выбрать свой путь.
Обзор UDTF в PySpark

Привет, Хабр!
Сегодня разберём фичу из PySpark — UDTF. Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM
запроса и возвращает как бы несколько строк для каждой входной записи. Звучит круто.
UDTFs пригодятся, когда на один входной объект нужно получить множество выходных строк. Простой пример: у нас есть строка текста и мы хотим разделить её на слова так, чтобы каждое слово вышло отдельной строкой. Со стандартным UDF такое не сделать (он возвращает одно значение, например конкатенацию или длину). Но UDTF может делать цикл yield
внутри и выдавать сколько угодно строк. Итак, приступим к делу.
YDB в мире Java: от нативного клиента до ORM’ов за 1 год

Популярность баз данных и языков программирования определяется не только их собственными характеристиками, но и ассортиментом доступных для разработчиков библиотек и фреймворков.
Меня зовут Кирилл Курдюков, в 2024 году я выступил в Питере на Joker — конференции для Java-разработчиков — с историей о том, как мы с командой делаем СУБД Яндекса удобной для джавистов.
Под катом статья, написанная по мотивам доклада. Это история о том, как маленькими шагами пройти путь от нативного клиента на Java до поддержки Hibernate, Liquibase, jOOQ и других популярных в мире Java-разработки решений.
Безопасность API (аутентификация и авторизация): проблемы, решения, практические рекомендации

Сегодня API — это клей, который скрепляет весь цифровой мир. Они связывают сервисы, мобильные приложения и системы партнеров. Но именно поэтому они стали главной целью для атак. Дыра в API — это не просто техническая ошибка, это широко открытая дверь к вашим данным.
Латать дыры по мере их обнаружения — это путь в никуда. Профессиональный подход требует другого мышления. Нужно не тушить пожары, а строить систему так, чтобы она не загоралась. Безопасность должна закладываться в архитектуру и становиться частью процесса разработки. Давайте разберем проблемы, с которыми мы возимся каждый день, и посмотрим на стратегические ходы, которые отличают по-настоящему надежные системы.
Эльбрус-2 в сравнении с основными суперкомпьютерами 1960–1980-х годов
Многопроцессорный вычислительный комплекс (МВК) «Эльбрус-2», созданный в СССР в 1984–1985 годах, является выдающимся достижением советской вычислительной техники и заслуживает высокой оценки по ряду ключевых параметров — числу процессоров, архитектуре и производительности, существенно опережающим многие зарубежные аналоги своего времени.
Универсальный сервис по сбору телеметрии с CAN-шин на технике

Всем привет! Меня зовут Артём Сидоров. Я ведущий разработчик из ИТ-команды «Северстали». Сегодня хочу рассказать, как мы реализовали «Универсальный сервис по сбору телеметрии с CAN-шин на технике».
Как приручить LLM: подбор инфраструктуры для инференса. Часть 1

Привет, Хабр! Меня зовут Антон, и сейчас я активно занимаюсь вопросами инфраструктуры для ML и AI. Когда клиент приходит с запросом в духе «Разверните мне Qwen», невольно задаешься вопросом: «А какая инфраструктура нужна для такой задачи?» Но если запрос становится более конкретным, например, «Разверните Qwen так, чтобы держать 10 RPS с задержкой до пяти секунд», то можно и вовсе растеряться. Как подобрать конфигурацию под такие требования?
В серии статей разберемся, как отвечать на такие вопросы. Рассмотрим, какие инструменты помогают быстро подобрать оптимальную инфраструктуру, как тестировать производительность инференса и автоматизировать процесс. Посмотрим, как пройти путь от ручных запусков примеров моделей до автоматизированного анализа работы фреймворков на GPU с подбором оптимальной конфигурации.
А еще в последнее время мне нравится тематика викингов и драконов (особенно та часть, которая связана с медовухой). Вместе мы напишем книгу по приручению самых разнообразных драконов или, как в простонародье, open source LLM. В ней рассмотрим разные типы драконов, какие «GPU-седла» подходят под каждого и какие инструменты использовать для приручения. Садитесь поудобнее, заваривайте что-нибудь крепкое и айда в уникальное путешествие на дракаре в волшебную долину драконов!
Записки оптимизатора 1С (ч.13). Что не так в журнале регистрации 1С в формате SQLite?

Хочу вернуться к старой проблеме с хранением журнала регистрации 1С в формате SQLite. История стара как мир, но мы нет-нет, а продолжаем с ней сталкиваться, поскольку очень часто большие информационные системы работают далеко не на самых свежих версиях платформы 1С, а администраторы системы не уследили за форматом хранения журнала регистрации (ЖР).
Наглядно посмотрим к чему может приводить ЖР в формате SQLite в многопользовательской нагруженной системе, а также выясним как администраторам и разработчикам понять, что проблема просадки производительности связана с чтением ЖР.
Как и зачем мы в YADRO сделали свою MLOps-платформу

В нашей компании есть много проектов, связанных с AI. Всем им нужны ресурсы для работы с моделями на GPU. «Хотим, чтобы только мы имели доступ к оборудованию», — это лишь одно из требований инженеров из AI-дивизиона, а еще нужно оптимизировать использование GPU-ресурсов, вести их учет и быстро подготавливать оборудование к передаче другой команде.
Привет, Хабр! Меня зовут Вадим Извеков, я руководитель группы сопровождения платформы машинного обучения в YADRO. Сегодня расскажу, почему мы решили создать свою MLOps-платформу, как она устроена и для чего используется.
Запускаем Kafka в режиме KRaft на Windows через WSL

Пошаговое руководство по установке и настройке кластера Apache Kafka с тремя брокерами в режиме KRaft (без ZooKeeper) на Windows — без виртуальных машин и Confluent Cloud.
Чтобы сделать кластер удобнее в использовании и приблизить его функциональность к облачным решениям, мы добавим веб-интерфейс на основе Kafka UI.
В результате получится гибкая система, которую можно масштабировать и настраивать под свои задачи.
Для кого эта статья?
Для тех, кто только начинает работать с Kafka и хочет разобраться в её устройстве на практике.
Для тех, кто работает на Windows, но не хочет ставить виртуальную машину.
Для тех, кто хочет понять внутреннее устройство Kafka, а не просто запустить «чёрный ящик».
Ближайшие события
Развёртывание боевого кластера Cassandra. Часть 3
Это продолжение цикла, рассказывающего о практике развёртывания небольшого, но вполне производственного кластера Cassandra. В первой и второй частях мы продвинулись вперед вот по такому плану:
1. Анализ рабочей нагрузки и требований
2.Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
5. Настройка топологии кластера
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста
Двинемся дальше?
Артефакты архитектуры: какие, зачем и как их организовать

Представьте город без карты. Дома построены, улицы проложены, люди живут своей жизнью — но никто не знает, как всё это связано между собой. Каждый архитектор чертит по-своему: у одного — квадраты, у другого — кружки, а у третьего — загадочные стрелки, ведущие в никуда. Когда решения принимаются «на глаз», последствия не заставят себя ждать. В результате, ценные находки теряются в ворохе несогласованных схем. Именно так выглядит ИТ-ландшафт без продуманной системы архитектурных артефактов. Сегодня я расскажу, как мы в МТС наводим в этом хаосе порядок, почему выбрали путь EAoaP — и что сделали, чтобы эта красивая теория прижилась в реальной, живой экосистеме из сотен продуктов.
Привет, Хабр! Меня зовут Наиль Миннахметов и я — корпоративный архитектор в МТС. В прошлом –– разработчик, аналитик и консультант в телекоме, финтехе, eCom, ритейле, логистике, фарме и FMCG. Занимался много чем, но всегда это было связано с IT. Я помогал разным бизнесам расти, становиться надёжнее или зарабатывать больше.
Масштабирование под нагрузкой: горизонтальные и вертикальные подходы

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

Достаточно большой период времени занимался технической поддержкой СУБД Oracle. Накопилось некоторое количество историй и заметок на полях по этому поводу, не могу не поделиться ими с вами. В общем — садимся по удобнее, берем попкорн, чашку горячего чая или кофе.. Дело было так.
Магия binapi для VPP или новые возможности по использованию SR Policy

Привет! Меня зовут Борис Хасанов, я сетевой архитектор в MWS Cloud Platform. В этой статье рассмотрим структуру сущности, называемой binapi, возможности программирования VPP с её помощью. Покажем, как можно использовать binapi для конкретных случаев, таких как реализация программного оверлея в ЦОД и расширенного Traffic Engineering при помощи VPP. Также поделимся результатами наших тестов по программированию SR Policy через VPP.
Как YDB изолирует OLTP и OLAP

Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.
Чтобы эти два принципиально разных паттерна нагрузки не мешали друг другу, гибридным базам данных важно изолировать транзакционную нагрузку от аналитической. Под катом я расскажу, как мы сделали в YDB компоненты для управления смешанной нагрузкой, которые изолируют миллионы RPS от аналитики, и как менеджер смешанной нагрузки устроен внутри.
С монолита на микросервисы: проблемы, решения, практические рекомендации

Переход на микросервисы — это не просто тренд. Для многих компаний это стало необходимостью. Монолитные приложения, которые когда-то служили верой и правдой, начинают трещать по швам под нагрузкой. Они медленно собираются. Их сложно обновлять. Малейшая ошибка в одном модуле может обрушить всю систему.
Микросервисы обещают решение. Гибкость. Масштабируемость. Независимые команды. Быстрые релизы. Звучит идеально. Но дорога к этой цели усеяна ловушками. Я видел проекты, которые провалились, потратив миллионы. Они просто поменяли один большой клубок проблем на десятки маленьких.
Вклад авторов
olegbunin 4532.5alizar 2497.3marks 1526.9olegchir 1183.4Kilor 1094.0YuriPanchul 968.3it_man 889.0AloneCoder 810.8Seleditor 782.8alatobol 685.0