Мы гордимся тем, что открываем исходный код Pingora — фреймворка на Rust, который мы используем для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare. Pingora выпускается под лицензией Apache 2.0.
Высокая производительность *
Методы получения высокой производительности систем
Обзор релиза Apache Ignite 2.16.0
Apache Ignite — это высокопроизводительная распределенная база данных с открытым исходным кодом, предназначенная для хранения и распределенной обработки больших объемов данных в кластере узлов. В СберТехе есть команда, которая занимается ее развитием. Мы создали Platform V DataGrid — продукт, основанный на Apache Ignite, с enterprise‑функциональностью.
Я был релиз-менеджером Apache Ignite 2.16.0, вышедшей 25 декабря 2023 года, спустя полгода от предыдущего релиза. Хочу ознакомить с основными разработками этой версии:
Перенос данных из одного S3 облака в другое
Перенос файлов от одного облачного провайдера S3 к другому должен был обойтись нам примерно в 133 000 рублей. Вместо этого, мы заплатили за него около 29 000 рублей. Как можно в 5 раз удешевить этот процесс – рассказываем в статье.
Как Сбербанк Онлайн готовится к пиковым нагрузкам
Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.
Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завязан на то, чтобы сделать Сбербанк Онлайн надёжнее. Расскажу про основные принципы отказоустойчивой архитектуры и весь путь эволюции Сбербанк Онлайн.
Истории
Тонкости работы short-circuit routing в ASP.NET Core 8.0
В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как добавляются middleware в приложение на ASP.NET Core.
Не читайте эту статью, если вам нужно просто прикрутить short-circuit routing и не париться, как оно работает, — для этого достаточно документации и обзора от Andrew Lock. У меня же после них осталось больше вопросов, чем ответов, потому я залез по самые локти в код и разобрался. Если вам тоже интересно — добро пожаловать под кат.
Тонкости работы short-circuit routing в ASP.NET Core 8.0
В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как добавляются middleware в приложение на ASP.NET Core.
Не читайте эту статью, если вам нужно просто прикрутить short-circuit routing и не париться, как оно работает, — для этого достаточно документации и обзора от Andrew Lock. У меня же после них осталось больше вопросов, чем ответов, потому я залез по самые локти в код и разобрался. Если вам тоже интересно — добро пожаловать под кат.
Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории
Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.
Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!
Вот агенда блога — наша блогенда:
UUIDv7
Седьмая версия UUID (Universally Unique Identifier Version 7, UUID Version 7, UUIDv7) является модифицированной и стандартизованной версией ULID. Проект стандарта (далее стандарт) находится в ожидании окончательной проверки редактором. Но уже имеется большое количество реализаций UUIDv7, применяемых в действующих информационных системах. В интернете доступно большое количество информации по ключевому слову UUIDv7.
Как связать натуральные ключи с суррогатным в Anchor Modeling
Хранить значения натуральных ключей необходимо, потому что они связывают хранимые данные с реальным миром (внешними классификаторами, реестрами и т.п.), и с ними работают бизнес-пользователи: в выпадающих списках, отчетах и дашбордах. Но в методологии Anchor Modeling для связи таблиц используются только суррогатные ключи, не подверженные изменениям, и это правильно. Поэтому нужно хранить связь натуральных ключей с суррогатным ключом, предпочтительно формата UUIDv7. Как же это сделать в методологии Anchor Modeling?
Как мы увеличили скорость обработки сервисных сообщений в 10 раз и еще 3 кейса про масштабирование проектов
Сформировать 400 000 документов за рабочий день, одновременно загрузить информацию о тысячах доменов, в 10 раз увеличить скорость обработки данных сайта, обеспечить стабильность интернет-магазина при росте посещаемости — решать такие задачи помогает горизонтальное и вертикальное масштабирование. Разбираем на примере наших проектов и кейса клиента, как повысить производительность веб-проекта.
Во что обойдется линеаризуемость в распределенной системе
Всем привет, меня зовут Сергей Петренко, я программист в Tarantool. Сегодня мы посмотрим, с какими трудностями сталкивается клиент, когда вместо того чтобы общаться с системой, расположенной на одном инстансе, начинает общаться с распределенной системой. И разумеется, поговорим о том, как эти трудности преодолеть. Я расскажу, что такое линеаризуемость, как мы ее реализуем в Tarantool и как это делают другие СУБД. В завершение мы поговорим о накладных расходах от линеаризуемости.
Работа процессора (физический препроцессор) без счётчика команд
Тех кто ожидает наукоёмкости от чтения - сразу прошу не читать, тут нет ничего на что можно было-бы сослаться кроме собственнных работ, а значит и наукоёмкости публикации не содержит - прошу простить заранее за такую дерзость, и заметить что предупреждение мной всё же об этом было.
На самом деле, ввиду прошлой публикации (последствия которой я постараюсь исправить, так как наверное многие решили что это плод воображения - новая архитектура) - препроцессора, так как рассматриваю процессор и пост процессор. Для того, чтобы понять ход мыслей лучше, и то, что всё это не фантазии, а результат работы - стоит ознакомится с этой предыдущей публикацией, она не сильно длинная - но время отнимет, хоть и не сильно сложная.
Ознакомившись с ней станет понятно что имеется ввиду под модификациями кода (смена формул и выключение строк кода в рантайме), под модификациями кода подразумевается просто включение и выключение исполняемых команд, кода. Изначально мной предполагалось, что кэш мостов будет состоять из параллельных частей, и скорее всего в такой архитектуре конвейера он должен будет и обеспечивать работу меток и указателей (но сейчас не про них). В каких-то публикациях мне сделали замечания что мало графики и рисунков (вроде как про поляризацию для машинного зрения), но как можно увидеть из публикации по ссылке выше - оказалось достаточно одной блок-схемы чтобы отполировать и видоизменить весь код, и даже до той степени, чтобы задуматься о новой архитектуре.
Китайские процессоры становятся все лучше: серверный чип 3C6000 от Loongson соревнуется с AMD Epyc на базе Zen 3
Поднебесная продолжает развивать собственную отрасль разработки и производства электроники. Неплохо себя чувствуют многие компании из Китая, но сейчас речь пойдет о Loongson, которая разрабатывает процессоры на основе собственной архитектуры LoongArch. Сейчас представлен серверный 3C6000, который «отстает» от конкурентов всего на три года. Подробности — под катом.
Ближайшие события
Китайские процессоры становятся все лучше: серверный чип 3C6000 от Loongson соревнуется с AMD Epyc на базе Zen 3
Поднебесная продолжает развивать собственную отрасль разработки и производства электроники. Неплохо себя чувствуют многие компании из Китая, но сейчас речь пойдет о Loongson, которая разрабатывает процессоры на основе собственной архитектуры LoongArch. Сейчас представлен серверный 3C6000, который «отстает» от конкурентов всего на три года. Подробности — под катом.
Актуальна ли еще GTX 1080? Изучаем бенчмарки
Видеокарты GTX 1080 появились на рынке в 2016 году, но за семь лет не утратили своей актуальности. Наоборот — закрепили за собой статус надежной железки, как и все десятое поколение GPU.
Тогда даже никто не мог поверить, что появится GPU с TDP 180 Вт. Низкое энергопотребление закалило видеокарту, поэтому на ней не видны даже шрамы от майнинга. Но насколько GTX 1080 отвечает современным запросам в профессиональных задачах? Удалось ли ей сохранить актуальность в машинном обучении? Кратко разбираемся в статье.
Десктопные процессоры Intel и AMD, серверные ARM-платформы и диски: что показали производители в январе
Вендоры в январе почти не отдыхали и готовили новинки. Среди них — 24-ядерные процессоры Intel, серверы для работы с большими языковыми моделями, СХД на 3,36 ПБ и другие устройства. Самое время продолжить нашу традиционную рубрику по обзору серверного железа и познакомиться с новинками поближе. Подробности под катом!
Книга «Software Dynamics: оптимизация производительности программного обеспечения»
Программное обеспечение — начиная с мобильных и облачных приложений, заканчивая видеоиграми и системами управления автономным транспортом — становится все более и более ограниченным по времени. Оно должно обеспечивать надежные результаты плавно, последовательно и практически мгновенно. Неспособность гарантировать это приведет к недовольству потребителей, а в некоторых случаях даже может создать риск для человеческих жизней. Когда комплексное ПО работает плохо или дает сбой, инженерам необходимо выявить и исправить первопричины. Задача непростая, и для ее решения существовало не так уж много инструментов. Ричард Л. Сайтс, эксперт по анализу производительности, решает задачу напрямую, предлагая действенные способы и профессиональные инструменты для выявления динамики сложных, ограниченных по времени программ, а также для повышения надежности и устранения проблем с производительностью.
За плечами автора несколько десятков лет практической работы и обучения профессиональных разработчиков. Он знакомит читателя с принципами и техниками, которые применимы в любой среде, начиная со встраиваемых устройств и заканчивая дата-центрами, и подкрепляет их примерами на основе подключенных по Ethernet систем x86 и ARM под управлением Linux. Опираясь на полученную с помощью KUtrace информацию, читатели смогут использовать конкретные решения, а не просто перебирать техники, такие как отключение кэша или ядер.
Шардирование: с нуля до Яндекс Диска
Меня зовут Андрей Колнооченко. Я отвечаю за ядро файловой системы Яндекс Диска. Когда мы запускали сервис, то сразу ориентировались на рост и приняли решение шардировать базу метаданных о файлах. Но за 11 лет Яндекс Диск настолько вырос, что нам пришлось трижды менять подход к шардированию. В статье расскажу, с какими проблемами мы сталкивались по мере роста сервиса и как от MongoDB пришли в итоге к PostgreSQL.
Эта статья будет полезна, если вы планируете распределить нагрузку на вашу БД или вам просто интересен опыт развития БД для обработки большого числа запросов.
Как мы уложили компьютерный мультик в 8 кБ
В ноябре 2022 года мы задали себе задачку: можно ли запрограммировать анимацию, воспроизводимую в режиме реального времени как обычный короткий мультик, но с условием, что файл должен быть не больше 8 килобайт. При этом цель считалась бы достигнутой, если бы у нас получилась нормальная графика, анимация, режиссёрская и операторская работа, а ещё подходящая музыка. Да, 8 килобайт — на секундочку, в два с лишним раза меньше этого поста. Мы не представляли, насколько это вообще возможно, так что оставалось только попробовать.
В апреле 2023 года, спустя несколько месяцев работы, мы, наконец, выкатили ленту Барашек и цветок. Можете сами скачать его или проследить на YouTube ход выполнения программы.
Нас многие спрашивали, как нам удалось создать нечто подобное. В статье будут объяснены технические детали и те ограничения, которые пришлось учитывать при проектировании перед выводом этого проекта в продакшен. Кроме того, мы выложили весь исходный код на GitHub.
Валидация входных данных в фильтрах Minimal API .NET, просто и без затей
В последние год-два снова набирает силу тенденция обращать самое пристальное внимание на производительность разрабатываемых приложений. Тема на самом деле непростая, поскольку производительность не на пустом месте появляется и требует значительных временных ресурсов и квалификации специалистов. В данной статье обсуждается эффективный способ валидации данных для .NET. Если C# входит в круг ваших интересов, если ваши коллеги обсуждают за кофе Minimal API, эта статья определённо для вас.
Вклад авторов
olegbunin 4532.5alizar 2443.3marks 1526.9olegchir 1183.4Kilor 1044.0YuriPanchul 902.5it_man 889.0AloneCoder 810.8alatobol 685.0ARG89 635.6