Multi-region high availability for Kafka workloads with a single Stretch Cluster

Bài tóm tắt Redpanda 2026 3. Quy mô lớn Độ khó: Trung bình

Redpanda · 2026 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc

Bài release note của nhà cung cấp (Redpanda Operator 26.2). Phần lớn là manifest mẫu; wiki chỉ giữ hai ý kiến trúc: stretch cluster và probe cho rolling restart. Mọi nhận định ghi "theo Redpanda". Đọc cùng Redpanda 2026 (bản bất đồng bộ).

Bối cảnh

  • Pipeline dữ liệu quan trọng chạy nhiều gigabit/giây, trải nhiều region. Sao chép bất đồng bộ (mirroring) luôn để lại cửa sổ mất dữ liệu và cần bước failover.

Thay đổi chính

  • Stretch Cluster (GA): một cụm logic có broker trải trên nhiều cụm Kubernetes, thường mỗi cụm một AZ, region, thậm chí một cloud. Mỗi partition sao chép bằng Raft; ghi chỉ được ack khi đa số replica đã lưu bền.
    • Theo Redpanda: RPO = 0 (mọi bản ghi đã ack đều nằm trong một quorum trải nhiều miền lỗi) và RTO = 0 (không có bước failover; các region còn lại vẫn giữ đa số nên tự bầu leader mới). Ví dụ trong bài dùng ba pool cho ba region.
    • Hai CRD: StretchCluster (cấu hình chung) và RedpandaBrokerPool (mỗi cụm thành viên một cái, ghi đè theo region).
  • Probe cho rolling restart: trước đây operator chỉ xem sức khoẻ toàn cụm, để hở hai cửa:
    • Trước khi restart: cụm trông khoẻ nhưng broker sắp restart đang giữ replica in-sync duy nhất của một partition; restart là producer acks=1 có thể mất dữ liệu.
    • Sau khi restart: pod báo Ready với Kubernetes trước khi broker bắt kịp replica; restart pod kế tiếp có thể làm mất quorum.
    • Nay: pre-restart probe hỏi chính broker có an toàn để restart không (rủi ro mất dữ liệu acks=1, partition mất leader, mất quorum với acks=-1); post-restart probe chờ broker lấy lại đủ replica in-sync (mặc định 100%) mới sang pod sau. Probe lỗi thì fail closed: hoãn chứ không đi tiếp.

Vì sao

  • Theo Redpanda: đồng bộ qua quorum khác hẳn async: không có cửa sổ mất dữ liệu, không có thao tác promote. (Bài không nói chi phí độ trễ ghi khi quorum trải nhiều region.)
  • "Ready" của Kubernetes không biết trạng thái sao chép; chỉ hệ lưu trữ mới biết restart lúc nào là an toàn.

Bài học cho SWE

Liên quan