RU

AVM изнутри задачи, сбои и состояние виртуальных машин

В первой части мы разобрали, почему Aeza ушла со сторонней платформы и как AVM устроен в общих чертах. Здесь уровень ниже: путь запроса от вызова до…

AezaAVMвиртуализациявиртуальные машиныlibvirtgRPCраспределённые системыотказоустойчивостьидемпотентностьstate machine
Habr
RU

Распределённые вычисления: гарантия завершения на исполнителях, которые вам ничего не должны

Если вы ведете pet‑проекты, требующие большого количества вычислений, то наверняка сталкивались с проблемой их - вычислений - оркестрации. Содержать…

распределённые системыотказоустойчивостьMLOpsgpuархитектура повоспроизводимость моделейоркестрацияобучение моделейоблачные вычисленияпроектирование
Habr
RU

Мой тестовый харнесс нашёл баг в моей же реализации Raft. Рассказываю, как именно

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

raftконсенсусдетерминированное тестированиераспределённые системытестированиелинеаризуемостьотказоустойчивостьtypescript
Habr
RU

Цена, которой не существовало: две недели поиска бага, который не видел мониторинг

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

кэшированиераспределённые системыконсистентность данныхмониторингнаблюдаемостьметрикиразбор инцидента
Habr
RU

[Перевод] Как потеря 17% сессий запустила цепную реакцию в инфраструктуре Discord

25 марта 2026 года голосовая и видеосвязь Discord перестала нормально работать для большинства пользователей. Причиной стал не один большой сбой, а…

распределённые системыdiscordkubernetesElixirerlangпроизводительностьмикросервисымасштабирование
Habr
RU

OpenTelemetry как единый стандарт наблюдаемости для распределённых систем

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

OpenTelemetryнаблюдаемостьраспределённые системытелеметрияметрикилогированиераспределённая трассировкаOpenTelemetry CollectorOTLPсэмплирование.
Habr
RU

Как корректно описать приём и обработку webhook

Webhook часто воспринимают как простой механизм доставки уведомлений: пришло событие — обработали — вернули 200. На практике име…

системный анализсистемный аналитиктребованияwebhookинтеграцииAPIраспределённые системыидемпотентностьобработка событийотказоустойчивость
Habr
RU

Как сделать приложение быстрым и надёжным с помощью межсервисных запросов

Микросервисы обещают независимость и гибкость, но вместе с этим добавляют новый класс проблем: задержки между сервисами, каскадные сбои и…

микросервисная архитектурамежсервисное взаимодействиераспределённые системыAPI Gatewayагрегатор данныхGraphQLCQRSотказоустойчивостьмасштабирование системпаттерны проектирования
Habr
RU

[Перевод] Генератор ID для микросервисной архитектуры: гайд по масштабированию целочисленных идентификаторов

В распределённых системах генерация уникальных ID быстро становится архитектурной задачей: центральная база создаёт узкое место, а переход на UUID м…

микросервисная архитектурамонолитраспределённые системыотказоустойчивостьгенерация идентификаторовмасштабирование системархитектура приложенийDynamoDBMySQL
Habr
RU

Как тестируют баги, которые невозможно воспроизвести

Редкий сбой в распределённой системе может месяцами ускользать от команды, а при попытке воспроизведения исчезать из‑за изменивш…

детерминированное тестированиераспределённые системывоспроизводимость ошибокотказоустойчивостьасинхронные системыконкурентное выполнениеfault injectionфаззингFoundationDBTigerBeetle
Habr
RU

[Перевод] 9 AI-агентов делят одну API-квоту. Почему обычные ретраи только ломают систему

Девять AI-агентов делят одну API-квоту — и один ответ 429 быстро превращается в каскадный отказ всей системы. В этой статье разбираемся, почему стан…

AI-агентымультиагентные системыrate limitingограничение запросовAPI-квотыCircuit Breakerраспределённые системыbackpressureRedis
Habr
RU

Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система эт…

eventual consistencyсогласованность данныхCQRSоптимистичная блокировкаEF Coreпроекцииsagaидемпотентностьраспределённые системыread model
Habr
RU

Idempotency keys: 5 граблей, которые мы поймали на проде

Пятница, 23:47. PagerDuty: “Платёж AmEx, провайдер вернул 5xx три раза подряд, билеты не зарезервированы.” Открываю логи – действительно три ответа…

идемпотентностьidempotencyплатежираспределённые системы.NETC#APIintent-keyrace conditionграбли
Habr
RU

Репликация по DDIA: что я понял, только когда сам сломал прод

В понедельник утром бухгалтер из клиентской компании написала мне в Telegram: «У контрагента в SAP всё оплачено, а в Smartup долг 12 миллионов». Я о…

DDIAрепликацияmulti-leaderраспределённые системысинхронизация данныхSAP Business OneHANAконфликты репликацииlast-write-winsидемпотентность
Habr
RU

Cache is hard — почему инвалидация кэша — это проблема согласованности, а не производительности

Кэш часто воспринимают как простой способ ускорить систему: положили данные ближе к приложению — получили быстрый ответ. Но&nbsp…

кэшированиеинвалидация кэшасогласованность данныхраспределённые системыRedisPostgreSQLCDCKafkaTTLвысоконагруженные системы