Chuyển đến nội dung
Replication trong Kafka: leader, follower và ISR

Replication trong Kafka: leader, follower và ISR

Partition P0 có ba bản sao trên broker B1, B2 và B3. B1 làm leader, các follower sao chép log. Nếu B1 mất, Kafka cần chọn leader mới phù hợp để tiếp tục. Có ba replica không tự bảo đảm mọi record đã xác nhận đều sống sót qua mọi loại lỗi.

ISR là tập replica theo kịp

ISR (in-sync replicas) là tập replica được coi là đủ đồng bộ theo tiêu chí Kafka. Replica quá chậm có thể rời ISR. Replication factor là số bản sao cấu hình; số replica trong ISR là trạng thái hiện tại. Hai con số có thể khác nhau.

Ví dụ kiểm tra bằng tay: replication factor 3, min.insync.replicas=2, producer acks=all.

Trạng thái ISR Kỳ vọng ghi
Ba replica theo kịp B1, B2, B3 Có thể xác nhận khi điều kiện ghi đáp ứng
B3 chậm và rời ISR B1, B2 Vẫn đủ mức tối thiểu
Chỉ B1 còn trong ISR B1 Ghi acks=all bị từ chối vì dưới mức tối thiểu

Cấu hình ưu tiên độ bền có thể làm hệ thống tạm ngừng ghi thay vì chấp nhận record chỉ còn một bản sao. Ứng dụng phải xử lý lỗi và backlog, không bỏ sự kiện khi broker từ chối.

Chọn leader và giới hạn

Chọn replica không đồng bộ làm leader có thể khôi phục khả dụng nhưng mất phần log mà nó chưa nhận. Quyết định này phụ thuộc cấu hình và phiên bản. Không bật unclean leader election chỉ để mất cảnh báo mà chưa hiểu rủi ro dữ liệu.

Phân bố replica trên nhiều broker nhưng cùng một máy, đĩa hoặc vùng lỗi vẫn tạo rủi ro chung. Replication không thay backup: xóa topic, retention sai hoặc lỗi nghiệp vụ có thể tác động mọi bản sao.

Quan sát và phục hồi

Theo dõi under-replicated partitions, offline partitions, thay đổi ISR, dung lượng đĩa và lỗi producer. Nếu follower tụt lại, kiểm tra đĩa, network và tải broker. Nếu ISR giảm cùng lúc ở nhiều partition, tìm nguyên nhân chung trước khi tăng retry client.

Ví dụ một broker có replication factor 1 nên không kiểm chứng failover. Bảng trên là mô hình để đọc cấu hình, chưa phải bài lab mất broker. Muốn chứng minh cam kết durability, phải thử cluster nhiều node và kiểm tra record sau lỗi ở các ranh giới xác nhận.

Tài liệu gốc

Kafka design: replication và Broker configs 4.0 giải thích ISR, min ISR và lựa chọn leader. Đối chiếu ngày 1/10/2026.