Consistent hashing

Consistent hashing

Кластеры редко бывают статичными: узлы добавляются для масштабирования и выбывают из-за сбоев. В таких условиях обычное распределение нагрузки становится неэффективным. На помощь приходит Consistent Hashing - алгоритм, который гарантирует минимальное перемещение ключей при любых изменениях в составе системы...

января 8, 2026 · 8 минут · German Gorelkin
CAP теорема

CAP теорема

Обзор CAP-теоремы и PACELC: история, доказательство и практическое применение. Разбираем, как распределенные системы балансируют между согласованностью, доступностью и скоростью ответа....

января 4, 2026 · 12 минут · German Gorelkin
Архитектура и реализация паттерна Try-Confirm-Cancel в распределенных системах

Try-Confirm-Cancel в распределенных системах

Try-Confirm-Cancel как модель управления согласованностью в микросервисах: резервирование ресурсов, идемпотентность, отказоустойчивость и архитектурные trade-offs....

января 2, 2026 · 12 минут · German Gorelkin
SAGA. Распределенные транзакции

SAGA. Распределенные транзакции

Как работают распределённые транзакции в микросервисах: Saga, компенсации вместо rollback, конечная согласованность и архитектурные компромиссы....

декабря 30, 2025 · 11 минут · German Gorelkin
Two-Phased Commit и eXtended Architecture

Two-Phased Commit и eXtended Architecture

Распределённые транзакции через 2PC и XA: как обеспечить атомарность в микросервисах. Риски in-doubt транзакций, блокировки и специфика работы с PostgreSQL....

декабря 27, 2025 · 4 минуты · German Gorelkin
Transactional Outbox: Как не потерять сообщения

Transactional Outbox. Как не потерять сообщения

Transactional Outbox — паттерн для надёжной доставки событий в микросервисах. Как избежать dual write, потерь сообщений и дубликатов, обеспечить at-least-once и идемпотентность....

декабря 26, 2025 · 4 минуты · German Gorelkin
Распределенные данные. Слабые уровни изоляции

Распределенные данные. Слабые уровни изоляции

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

декабря 19, 2023 · 16 минут · German Gorelkin
Распределенные данные. Транзакции

Распределенные данные. Транзакции

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

декабря 15, 2023 · 9 минут · German Gorelkin
Распределенные данные. Секционирование

Распределенные данные. Секционирование

В случае очень больших наборов данных необходимо разбить данные на секции (partitions), иначе говоря, выполнить шардинг (sharding) данных....

октября 19, 2023 · 15 минут · German Gorelkin
Основы Распределенных Систем. Часть 1

Основы Распределенных Систем. Часть 1

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

октября 7, 2023 · 4 минуты · German Gorelkin