Zero Ops Schema Migration: WarpStream Schema Linking
Bài tóm tắt WarpStream 2025 4. Điều chỉnh Độ khó: Trung bình
WarpStream · 2025 · 4. Điều chỉnh · Độ khó: Trung bình — bài gốc
Bài ra mắt tính năng của nhà cung cấp; mọi nhận định là theo WarpStream.
Bối cảnh
- WarpStream đã có Schema Registry kiểu BYOC (stateless, không đĩa, tương thích API của Confluent). Muốn khách chuyển sang thì cần đường migrate từ registry đang có (Confluent, Redpanda, Aiven...) mà không đổi hành vi.
- Công cụ có sẵn như Confluent Schema Linking làm bằng cách chép topic nội bộ
_schemasvà theo dõi tiến độ bằng offset. Cách đó gắn với registry dựa trên Kafka.
Thay đổi chính
- Schema Linking chép liên tục mọi schema sang registry của WarpStream, giữ nguyên schema ID, subject, quy tắc tương thích, nên sau migrate registry đích trả lời API giống hệt nguồn. Chỉ dựa vào API chuẩn của Confluent, không cần nguồn lưu trên Kafka.
- Dùng được cho việc khác: read replica rẻ, đồng bộ schema giữa region/cloud, bản dự phòng ở region khác cho DR.
- Tách control plane và data plane: scheduler ở control plane của WarpStream giao job cho agent trong VPC của khách (lấy schema, lấy metadata, ghi schema vào object store của khách). Schema không bao giờ rời môi trường khách; control plane chỉ thấy metadata (tên subject, schema ID, quy tắc tương thích).
- Khai báo và reconcile: khách viết file cấu hình chỉ cách nối tới registry nguồn; scheduler lặp bốn bước như Terraform, Kubernetes, React: tính trạng thái mong muốn, tính trạng thái hiện tại, so khác biệt, áp thay đổi.
- Trạng thái mong muốn là danh sách subject version của nguồn; hiện tại là subject version của đích (đọc từ metadata store của WarpStream). Subject version bất biến và tăng đơn điệu (như commit trên một nhánh git), nên so khác biệt chỉ là so hai mảng.
- Vì so trên subject version, scheduler biết cần chép gì mà không cần xem nội dung schema: đây là chìa khoá cho việc tách hai plane.
- Theo dõi tiến độ: không có offset để xem, nên số liệu từ vòng reconcile (số subject version ở nguồn, ở đích, số vừa chép mỗi lượt) hiện ở Console và metric của agent.
Bài học cho SWE
- Migrate bằng vòng reconcile liên tục thay vì một lần chép: chạy lặp tới khi hai bên khớp, rồi cắt; chạy tiếp thì thành replica hay DR (Migration không downtime, Tự động hoá vận hành và auto-remediation).
- Dữ liệu bất biến có version tăng dần làm phép so khác biệt rẻ và không cần đọc nội dung.
- Giữ nguyên định danh (schema ID) để mọi client cũ không phải biết đã đổi hệ.
- So với WarpStream 2026: cùng nhà cung cấp, cùng ý tưởng giữ nguyên định danh để cutover trong suốt, nhưng cho dữ liệu Kafka.
Liên quan
#Schema Registry#Schema Linking#Migration#Reconciliation#Desired state#Control plane / data plane#BYOC#Subject version#Read replica#Disaster recovery
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (1)