Pull to refresh
7
0
Nikita Ryanov @Gr1f0n

Software developer

Send message

Как мы повышали производительность очереди сообщений

Reading time14 min
Views10K

Работа в Яндексе ставит огромное количество технических вызовов, которые интересно решать. И один из них — это производительность основной очереди сообщений YDB Topics. Посмотрим, может ли опенсорсный продукт от Яндекса конкурировать с Apache Kafka по производительности.

Меня зовут Зевайкин Александр. Я уже практически 20 лет в IT. Начинал с преподавания в вузе, запускал множество стартапов, руководил командами разработки. В текущий момент я работаю в Яндексе в отделе, занимающимся одной из высоконагруженных систем. Это разработка распределённой базы YDB, в частности, функциональности YDB Topic.

Читать далее
Total votes 30: ↑30 and ↓0+37
Comments14

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок

Level of difficultyMedium
Reading time11 min
Views16K

Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.

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

Читать далее
Total votes 37: ↑37 and ↓0+41
Comments6

Дюк, вынеси мусор! — 1. Введение

Reading time13 min
Views221K


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать
Total votes 36: ↑36 and ↓0+36
Comments7

Используй Силу, Люк: Single Pane of Glass в Мире SRE

Level of difficultyMedium
Reading time11 min
Views2.7K

Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. 

В любом проекте и компании я иногда сталкивался, а иногда сам создавал проблему: огромное количество дашбордов. Вспомните ситуацию, когда вы в Grafana ищете какой-нибудь дашборд, пишете, например, «Tarantool», и вам выпадает огромный список дашбордов, которые кто-то до вас насоздавал. Это могут быть кастомные дашборды, которые кто-то делал для какого-нибудь инцидента, или просто созданные другими специалистами. Часто бывает, что половина этих дашбордов нерабочие или на них нет чего-то полезного. 

Как правило, обилие дашбордов создаёт ряд проблем: информационную перегрузку, потерю фокуса, сложность восприятия, а самое главное, затруднение исследований инцидентов. Попробуйте себе честно ответить на вопрос: глядя на свой дашборд, вы можете понять, работает ваша система или нет? Если нет, то читайте дальше. 

Читать далее
Total votes 35: ↑35 and ↓0+37
Comments0

HTTP/3: улучшения производительности. Часть 2

Reading time32 min
Views17K

Фото Jack Hunter, Unsplash.com

После почти пятилетней разработки протокол HTTP/3 наконец приближается к окончательному выпуску. Здесь мы узнаем, как в HTTP/3 улучшилась производительность, включая контроль перегрузок, блокировки HoL и установку соединения 0-RTT.

Это вторая часть серии о новом протоколе HTTP/3. В первой мы говорили о том, зачем нам вообще нужен HTTP/3, о протоколе QUIC и новых возможностях.
Читать дальше →
Total votes 20: ↑19 and ↓1+23
Comments5

Пришел, увидел, обобщил: погружаемся в Java Generics

Reading time17 min
Views333K
Java Generics — это одно из самых значительных изменений за всю историю языка Java. «Дженерики», доступные с Java 5, сделали использование Java Collection Framework проще, удобнее и безопаснее. Ошибки, связанные с некорректным использованием типов, теперь обнаруживаются на этапе компиляции. Да и сам язык Java стал еще безопаснее. Несмотря на кажущуюся простоту обобщенных типов, многие разработчики сталкиваются с трудностями при их использовании. В этом посте я расскажу об особенностях работы с Java Generics, чтобы этих трудностей у вас было поменьше. Пригодится, если вы не гуру в дженериках, и поможет избежать много трудностей при погружении в тему.


Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments46

Представляем trdl — Open Source-решение для безопасной и непрерывной доставки обновлений

Reading time5 min
Views7.6K

trdl (сокр. от “true delivery”) обеспечивает безопасный канал доставки обновлений от Git-репозитория до хоста пользователя. В состав trdl входят три ключевых компонента, которые помогают защищать систему обновления от потенциальных атак: HashiCorp Vault, TUF-репозиторий и Git.

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

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments24

Tarantool 2.10: сжимаем данные, шифруем трафик, помогаем расследовать инциденты

Reading time4 min
Views6.4K

В Tarantool 2.10 добавили новые инструменты как для Enterprise версии, так и для Community Edition. А еще мы запустили Tarantool по модели DBaaS в облаке VK Cloud Solutions. Далее подробно расскажем про главные обновления: шифрование соединений между репликами и клиентом, сжатие данных в памяти, расширенные возможности аудита и поделимся ссылкой на полный список изменений

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments5

Универсальный Helm-чарт для ваших приложений

Reading time5 min
Views13K

Приветствую всех Хабровчан. Сегодня говорим про Helm и то, как мы у себя в Nixys пришли к универсальному чарту, который стали использовать в своей работе как стандартный инструмент и почему это сделало нашу работу эффективнее.

Читать далее
Total votes 21: ↑20 and ↓1+20
Comments11

Как устроена экосистема полупроводниковой индустрии

Reading time8 min
Views58K
В прошлом году выходило много статей на темы, связанные с полупроводниковой индустрией: нехватка чипов, американский закон CHIPS, зависимость от Тайваня и TSMC, роль Китая, и т.д.



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

Экосистема полупроводниковой индустрии


На наших глазах абсолютно всё переходит в цифровой вид. Полупроводниковые устройства – чипы, обрабатывающие цифровую информацию – проникли почти всюду. Они в компьютерах, автомобилях, бытовой технике, медицинском оборудовании, и т.п. В этом году компании из полупроводниковой индустрии планируют продать чипов на $600 млрд.
Читать дальше →
Total votes 60: ↑57 and ↓3+73
Comments66

Как получить онлайн магистратуру по CS от американского университета по цене кофе

Reading time9 min
Views36K


Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в FAANG и переехал в UK.

Читать дальше →
Total votes 41: ↑40 and ↓1+50
Comments22

Перформанс: что в имени тебе моём? — Алексей Шипилёв об оптимизации в крупных проектах

Reading time26 min
Views33K
Оптимизация производительности издавна не даёт покоя разработчикам, представляясь своеобразным «золотым ключиком» к интересным решениям и хорошему послужном списку. Большую обзорную экскурсию по ключевым вехам оптимизации больших проектов  – от общих принципов до ловушек и противоречий —  на прошедшем JPoint 2017 провёл Алексей Шипилёв, эксперт по производительности.



Под катом — расшифровка его доклада.
Total votes 76: ↑73 and ↓3+70
Comments10

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов

Reading time14 min
Views8.8K

Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких запросов уходит неадекватно много системных ресурсов. В этой статье мне бы хотелось поделиться своими наработками и рассказать о трёх проверенных мной способах мониторинга утилизации системных ресурсов, потребляемых запросами в Greenplum.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Роковой каскад: JIT, и как обновление Postgres привело к 70% отказов на национальном сервисе критической важности

Reading time12 min
Views19K

Сайт мониторинга ситуации по коронавирусу Соединенного Королевства - основной сервис отчетности во время пандемии COVID-19 для всей страны. Он испытывает нагрузку порядка 45–50 миллионов запросов в день и относится к национальным сервисам критической важности.

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

Есть только одно исключение - наша база данных. Сервис работает с использованием специальной версии PostgreSQL: Hyperscale Citus. Тот факт, что наша база данных не соответствует архитектуре active-active — это не следствие того, что мы не знаем, как делать реплики для чтения, скорее - результат логистических проблем, обсуждение которых выходит за рамки этой статьи.

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

И что же могло пойти не так?
Total votes 34: ↑32 and ↓2+39
Comments14

Пишем распределенное хранилище за полчаса

Reading time13 min
Views11K


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


Мне не нравится тратить время на настройку SQL базы данных, думать, как управлять шардированием данных, тратить много времени на изучение интерфейсов коннекторов. Хочется просто написать несколько строчек кода и запустить его, чтобы все работало из коробки. В быстрой разработке распределенных приложений мне помогает Cartridge — фреймворк для управления кластерными приложениями на основе NoSQL базы данных Tarantool.


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

Читать дальше →
Total votes 21: ↑20 and ↓1+29
Comments2

Управление пакетами с помощью модулей Go: Прагматическое руководство

Reading time8 min
Views44K
Всем привет. В преддверии старта курса «Разработчик Golang» подготовили для вас еще один интересный перевод.




Модули — это способ борьбы с зависимостями в Go. Изначально представленные в качестве эксперимента, модули предполагают вывести на поле в качестве нового стандарта для управления пакетами с версии 1.13.

Я нахожу эту тему достаточно необычной для новичков, пришедших с других языков, и поэтому я решил собрать здесь некоторые соображения и советы, чтобы помочь другим, таким же как я, получить представление об управлении пакетами в Go. Мы начнем с общего знакомства, а затем перейдем к менее очевидным аспектам, включая использование папки vendor, использование модулей с Docker в разработке, зависимости инструментов и т. д.

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

Так что если вам по пути, запрыгивайте и наслаждайтесь поездкой.
Читать дальше →
Total votes 9: ↑7 and ↓2+8
Comments1

Ontol: Самые полезные материалы для релокейта в любую страну мира

Reading time8 min
Views23K
image

В предыдущей подборке самых полезных материалов про визу O-1 много спрашивали про релокейт в Европу. Я целый день копал рунет и накопал полезное про релокейт не только в Европу, но почти куда угодно: Азию, Латинскую Америку, Австралию, Ближний Восток, Африку, Китай и даже… в Россию. Всего про 49 стран.

Недавний (пару недель назад) опрос 2423 ИТишников (50% Senior, 30% Middle, 10% Junior):

  • 23% в ближайшие 5 лет точно уеду (563)
  • 18% уже уехал (443)
  • 37% колеблюсь (900)
  • 21% не собираюсь уезжать в принципе (517)


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

В конце поста — опрос.

(Если у вас есть полезные ссылки на «личный опыт» по релокейту, который вам понравился, делитесь, буду признателен.)
Читать дальше →
Total votes 33: ↑27 and ↓6+29
Comments14

Внутреннее устройство Kubernetes-кластера простым языком

Reading time6 min
Views71K

Прим. перев.: как многим хорошо известно, Kubernetes — это всего лишь пять бинарников. Об их назначении и рассказывает в этой статье Vedashree Patil, консультант из Deloitte Digital. Когда ей потребовалось изучить Kubernetes, она столкнулась с большим количеством новой информации, осознать которую за короткое время было непросто. Так она пришла к идее уменьшить порог вхождения в K8s другим специалистам, создав цикл публикаций «Kubernetes 101». Все статьи сопровождаются простыми и наглядными комиксами. Представляем вниманию перевод материала под названием «Внутри кластера» из этого цикла.

Как выглядит кластер Kubernetes? Как работают узлы? Из этой статьи вы узнаете обо всех основных компонентах системы Kubernetes.

Читать далее
Total votes 57: ↑55 and ↓2+61
Comments10

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity