Внедрение автоматических выключателей, повторных попыток и тайм-аутов без дополнительной драмы

Внедрение автоматических выключателей, повторных попыток и тайм-аутов без дополнительной драмы

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

31 января 2026 14:00 · 5 минут · 969 слов · Maxim Zhirnov
Создание надежных сервисов с использованием современных .NET и минимальных API: Меньше шаблонов, больше результатов

Создание надежных сервисов с использованием современных .NET и минимальных API: Меньше шаблонов, больше результатов

Революция без контроллеров (и почему она вам может понравиться) Помните, когда создание REST API в .NET означало создание файла контроллера, добавление атрибутов к каждому методу и в итоге получение более сложной структуры, чем у королевской свадьбы? Эти дни уходят в прошлое быстрее, чем ваша мотивация в понедельник утром. Добро пожаловать в мир минимальных API — здесь вы можете создавать готовые к производству REST-сервисы с меньшим количеством кода, файлов и головной боли....

15 января 2026 14:00 · 5 минут · 964 слова · Maxim Zhirnov
Микросервисы: самая распространенная архитектура десятилетия

Микросервисы: самая распространенная архитектура десятилетия

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

6 января 2026 06:00 · 6 минут · 1 слово · Maxim Zhirnov
Построение распределенной системы блокировки в Go с ZooKeeper: от теории к производству

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

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

5 января 2026 14:00 · 5 минут · 988 слов · Maxim Zhirnov
Внедрение сервисной сетки с помощью Linkerd в Kubernetes: от теории к производству

Внедрение сервисной сетки с помощью Linkerd в Kubernetes: от теории к производству

Почему вашему кластеру Kubernetes нужна сервисная сетка (и почему Linkerd — это решение) Представьте: вы только что развернули свои прекрасно спроектированные микросервисы в Kubernetes. Всё отлично работает в локальной среде, и вы уверены, что в продакшене будет так же просто. Затем реальность ударяет, как плохо настроенный балансировщик нагрузки. Вдруг вы сталкиваетесь с всплесками сетевой задержки, загадочными тайм-аутами подключения и тем одним сервисом, который решает устроить экзистенциальный кризис в 3 часа ночи в воскресенье....

20 декабря 2025 14:00 · 6 минут · 1175 слов · Maxim Zhirnov