Replication & Sharding

Ba mô-đun tương tác: (1) leader–follower sync/async + lag + failover, (2) sharding hash vs range + reshuffle khi thêm shard, (3) hotspot khi range partition lệch.

1 · Leader–Follower: replicate, lag & failover

Ghi một giá trị mới vào leader, xem nó lan sang follower. Đọc follower trong lúc đang lag sẽ thấy giá trị cũ.

Chế độ: Synchronous (chờ follower) Asynchronous (không chờ)
Leader & cả 2 follower đang ở balance = 300. Hãy ghi một giá trị mới.

2 · Sharding: hash vs range, và reshuffle khi thêm shard

12 key (user_id 100–111) được phân vào các shard. Đổi chiến lược, đổi số shard, rồi xem có bao nhiêu key phải di chuyển (viền cam).

Chiến lược: Hash (mod N) Range (theo khoảng id) Consistent hashing

3 · Hotspot khi range partition lệch

Chia dân số Việt Nam theo chữ cái đầu của họ. "Nguyễn" chiếm ~38% → shard chứa "N" quá tải. Bấm để xem so sánh với hash rải đều.

Range theo chữ cái (lệch) Hash (rải đều)