Tin tức

Meerkat của Cloudflare: Dịch vụ đồng thuận toàn cầu không cần lãnh đạo

Cloudflare giới thiệu Meerkat, một dịch vụ đồng thuận thử nghiệm chạy trên thuật toán QuePaxa, được thiết kế để cung cấp tính nhất quán mạnh và khả năng chịu lỗi trên toàn bộ mạng lưới toàn cầu mà không gặp phải nút thắt cổ chai do bầu chọn lãnh đạo như Raft.

July 8, 2026· 4 min read· Nguồn: The Cloudflare Blog
Meerkat của Cloudflare: Dịch vụ đồng thuận toàn cầu không cần lãnh đạo

Nhóm Nghiên cứu của Cloudflare đang xây dựng Meerkat, một dịch vụ đồng thuận phân tán mới nhằm giải quyết vấn đề cốt lõi cho mặt phẳng điều khiển toàn cầu của công ty: làm thế nào để duy trì tính nhất quán mạnh trên hơn 330 trung tâm dữ liệu mà không gặp phải các trục trặc về tính khả dụng vốn ám ảnh các thuật toán đồng thuận dựa trên lãnh đạo như Raft.

Meerkat chạy trên QuePaxa, một thuật toán đồng thuận được công bố vào năm 2023 bởi các nhà nghiên cứu tại EPFL. Không giống như Raft, nơi một lãnh đạo duy nhất xử lý mọi ghi và sự cố lãnh đạo gây ra một cuộc bầu chọn dựa trên timeout có thể làm tê liệt hệ thống, QuePaxa cho phép mọi bản sao thực hiện ghi bất cứ lúc nào. Tiến trình không bao giờ dừng lại do timeout, khiến nó phù hợp hơn nhiều cho các mạng diện rộng với độ trễ khó đoán — chính xác là môi trường của Cloudflare.

Dịch vụ này vẫn đang trong giai đoạn thử nghiệm và chỉ dùng nội bộ, ban đầu nhắm vào các trạng thái mặt phẳng điều khiển nhỏ như quyền lãnh đạo cho cơ sở dữ liệu nhân bản hoặc thông tin vị trí cho các phiên bản mô hình AI. Nhưng ý nghĩa rất lớn: nếu Meerkat chứng minh được hiệu quả, nó có thể thay thế các hệ thống dựa trên Raft vốn đã gây ra nhiều sự cố tại Cloudflare do lãnh đạo không khả dụng.

Meerkat cung cấp những gì

Meerkat cung cấp tính tuyến tính — dạng nhất quán mạnh nhất, nơi mọi đọc sau một ghi đều đảm bảo thấy được ghi đó. Điều này cho phép các nhà phát triển suy luận về trạng thái phân tán như thể nó là bộ nhớ cục bộ trên một máy đơn luồng, loại bỏ gánh nặng tinh thần của các mô hình nhất quán yếu hơn.

Về khả năng chịu lỗi, Meerkat vẫn khả dụng cho đọc và ghi miễn là đa số máy của nó còn sống và có thể giao tiếp. Một máy đơn lẻ bị lỗi hoặc một liên kết suy giảm sẽ không làm sập hệ thống. Đây là một cải tiến trực tiếp so với Raft, nơi mất lãnh đạo có thể gây ra tình trạng không khả dụng cho đến khi một lãnh đạo mới được bầu chọn.

Cách hoạt động

Các nhà phát triển yêu cầu một cụm các bản sao Meerkat, mỗi bản sao được kết nối với mọi bản sao khác. Mọi bản sao đều tham gia vào đồng thuận và có thể chấp nhận cả đọc và ghi. Máy khách gửi các yêu cầu cụ thể theo ứng dụng — như get hoặc put key-value — đến bất kỳ bản sao nào. Bản sao đó dịch yêu cầu thành một sự kiện nhật ký, phân phối nó đến tất cả các bản sao thông qua thuật toán đồng thuận, và tất cả các bản sao duy trì cùng một nhật ký chính xác. Các ứng dụng (như một kho key-value) tiêu thụ nhật ký đó để xây dựng trạng thái.

Đáng chú ý, ngay cả các yêu cầu đọc cũng tạo ra các sự kiện nhật ký phân tán để đảm bảo tính tuyến tính. Đây là một sự đánh đổi: nhất quán mạnh hơn với chi phí phối hợp bổ sung, nhưng Cloudflare cho rằng điều này là cần thiết cho các khối lượng công việc mặt phẳng điều khiển của mình.

Kết luận

Meerkat là một nỗ lực đầy tham vọng nhằm đưa đồng thuận không lãnh đạo vào sản xuất ở quy mô toàn cầu. Nếu thành công, nó có thể trở thành một phần nền tảng của hạ tầng Cloudflare, cho phép trạng thái mặt phẳng điều khiển nhất quán mạnh mà không có sự mong manh của bầu chọn lãnh đạo. Nhóm nghiên cứu dự định sẽ chia sẻ thêm chi tiết trong các bài viết sau, nhưng hướng đi đã rõ: timeout của Raft không phải là cách duy nhất để xây dựng đồng thuận.