Внедрение rate limiting на уровне сети с использованием eBPF и Go

Внедрение rate limiting на уровне сети с использованием eBPF и Go

Почему ваш ограничитель скорости в пользовательском пространстве, вероятно, плачет Если вы когда-либо пытались реализовать ограничение скорости в пользовательском пространстве, то знаете это чувство. Пакеты поступают на сетевой интерфейс, проходят через несколько уровней ядра, обрабатываются системными вызовами, и к тому времени, когда ваша тщательно продуманная логика ограничения скорости получает возможность их проверить, вы уже проиграли битву за производительность. Это как пытаться остановить цунами садовым шлангом, катаясь на роликах. eBPF (расширенный Berkeley Packet Filter) меняет всё уравнение....

12 января 2026 14:01 · 5 минут · 986 слов · Maxim Zhirnov
Кэширование Redis в Go: от нуля до готовой к производству реализации

Кэширование Redis в Go: от нуля до готовой к производству реализации

Если ваше приложение на Go тормозит под нагрузкой, постоянно атакуя базу данных, как разработчик в 3 часа ночи, отлаживающий производственную версию, то вы попали по адресу. Кэширование Redis — это не просто оптимизация производительности, это разница между сервисом, который масштабируется изящно, и тем, который рушится под собственной тяжестью. В этом подробном руководстве я расскажу вам всё, что нужно знать об интеграции Redis в ваши приложения на Go, от базовой настройки до готовых к использованию в производственной среде паттернов....

30 декабря 2025 14:00 · 5 минут · 993 слова · Maxim Zhirnov
Базы данных в памяти: Секретное оружие для молниеносных приложений

Базы данных в памяти: Секретное оружие для молниеносных приложений

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

25 декабря 2025 14:00 · 6 минут · 1143 слова · Maxim Zhirnov
Создайте свой собственный детектор утечек памяти: Практическое руководство по автоматизации анализа памяти Go

Создайте свой собственный детектор утечек памяти: Практическое руководство по автоматизации анализа памяти Go

Призрак в вашей машине Вы знаете это чувство, когда ваше Go-приложение начинает потреблять память, как будто готовится к буфету «всё включено»? Сегодня оно работает без сбоев, а завтра — бум — ваша операционная команда вызывает вас в 3 часа ночи, потому что сервис использует 8 ГБ ОЗУ, хотя должен использовать 800 МБ. Добро пожаловать в чудесный мир утечек памяти. Вот в чём дело с Go: в нём есть этот модный сборщик мусора, который должен избавить нас от проблем с управлением памятью....

18 декабря 2025 14:00 · 6 минут · 1102 слова · Maxim Zhirnov
Почему Ваш код не так эффективен, как Вы думаете

Почему Ваш код не так эффективен, как Вы думаете

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

14 декабря 2025 06:00 · 5 минут · 1037 слов · Maxim Zhirnov