Контекст
Принципы проектирования масштабируемых систем
Эта глава детализирует одну из ключевых тем масштабирования: replication + sharding.
Репликация и шардинг отвечают за масштаб, доступность и стоимость данных. Репликация увеличивает устойчивость и масштаб чтения, шардинг увеличивает пропускную способность записи и общий capacity. Ошибка здесь обычно проявляется не на старте, а при росте нагрузки и product complexity.
Модели репликации
Primary-Replica
Один write-leader, несколько read-replicas. Хорошо для read-heavy нагрузок и понятного операционного управления.
Replica lag и асимметрия чтение/запись; failover должен быть автоматизирован и протестирован.
Multi-Primary
Запись в нескольких регионах/нодах, ниже latency для geo-distributed writes.
Конфликты и сложная merge-логика; высокий порог сложности для команд и платформы.
Leaderless
Кворумная запись/чтение и высокая доступность для distributed KV/NoSQL сценариев.
Сложнее reasoning о консистентности, read repair, hinted handoff и tombstones.
Визуализация репликаций
Replication Simulator
Request Queue
Replication Router
Primary-Replica
Primary
Replica A
Replica B
Готово к симуляции. Запусти авто-режим или сделай один шаг.
Последнее решение: —
Модели шардирования
- Hash-based sharding: равномерное распределение, но сложнее range-запросы.
- Range-based sharding: эффективно для диапазонных запросов, но есть риск hot ranges.
- Directory-based sharding: гибкое управление расположением данных, требует надежного metadata service.
- Geo/tenant sharding: удобно для data sovereignty и изоляции клиентов, но усложняет cross-tenant операции.
Визуализация шардинга
Sharding Simulator
Shard Keys Queue
Shard Router
Hash Sharding
Shard 0
Shard 1
Shard 2
Готово к симуляции. Запусти авто-режим или сделай один шаг.
Последнее решение: —
Related
Performance Engineering
Hot shards и migration-window напрямую влияют на p95/p99 latency.
Ребалинсировка шардов и контроль горячих шардов
Consistent hashing и virtual nodes для снижения объема миграций при изменении количества узлов.
Hot shard mitigation: adaptive partitioning, write buffering, routing по workload key, temporal split.
Backfill и миграции запускайте через throttled pipelines с верификацией checksums.
Все migration-операции должны иметь pause/resume, rollback plan и observable progress.
Cloud Native
Cost Optimization & FinOps
Replication topology и rebalancing напрямую влияют на cloud cost и unit economics.
Практический чеклист
Определены RPO/RTO по каждому классу данных и сценариям отказа.
Явно задано, какие операции требуют strong consistency, а какие допускают eventual.
Есть план эволюции shard key при росте продукта и изменении access patterns.
Репликация, failover и rebalancing проверяются регулярно через game days.
Стоимость cross-zone/cross-region replication учтена в FinOps-модели.
Частый anti-pattern: выбирать shard key под текущий feature set без плана эволюции.
Связанные главы
Принципы проектирования масштабируемых систем
Общая рамка масштабирования, внутри которой выбирается replication/sharding стратегия.
CAP теорема
Базовые ограничения распределённых систем при network partition.
PACELC теорема
Trade-off latency vs consistency даже в штатном режиме.
Database Selection Framework
Как тип СУБД влияет на доступные стратегии репликации и шардирования.
Multi-region / Global Systems
Репликация и шардирование в глобальной географии и под регуляторные ограничения.
