System Design Space

    Глава 16

    Обновлено: 15 февраля 2026 г. в 09:28

    Репликация и шардинг

    Прогресс части0/8

    Как проектировать репликацию и шардирование: topologies, read/write path, rebalancing, hot shards, consistency и операционные trade-offs.

    Контекст

    Принципы проектирования масштабируемых систем

    Эта глава детализирует одну из ключевых тем масштабирования: 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

    TX-401WRITE
    user:42 · web
    TX-402READ
    user:42 · mobile
    TX-403WRITE
    tenant:acme · partner
    TX-404READ
    order:981 · web

    Replication Router

    Primary-Replica

    Write в leader, read с replicas. Классический read-scaling.

    Primary

    write leader
    reads: 0
    writes: 0
    lag: 0ms

    Replica A

    read replica
    reads: 0
    writes: 0
    lag: 8ms

    Replica B

    read replica
    reads: 0
    writes: 0
    lag: 11ms
    Готово

    Готово к симуляции. Запусти авто-режим или сделай один шаг.

    Последнее решение: —

    Модели шардирования

    • 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

    Q-901acme
    user:42 · id=1200
    Q-902globex
    order:981 · id=3520
    Q-903initech
    invoice:77 · id=6710
    Q-904umbrella
    cart:55 · id=2200

    Shard Router

    Hash Sharding

    Ключ хэшируется в shard ring для равномерного распределения.

    Shard 0

    hash bucket 0
    requests: 0hotness: 0

    Shard 1

    hash bucket 1
    requests: 0hotness: 0

    Shard 2

    hash bucket 2
    requests: 0hotness: 0
    Готово

    Готово к симуляции. Запусти авто-режим или сделай один шаг.

    Последнее решение: —

    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 без плана эволюции.

    Связанные главы

    References