VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

Cloudflare giảm 100 TB RAM cho Backend Router của Pingora

19/09/2026 · VietTechies · Biên tập

Cloudflare giảm 100 TB RAM cho Backend Router của Pingora
Ảnh minh họa do AI tạo.

Cloudflare cho biết các thay đổi đối với hệ thống consistent hashing, phương pháp băm giúp phân phối yêu cầu ổn định giữa nhiều máy chủ, đã giảm 100 TB bộ nhớ mà Pingora Backend Router sử dụng trên toàn mạng. Giải pháp kết hợp một cấu trúc dữ liệu Rust gọn hơn với việc giảm 90% số hash được tạo cho mỗi máy chủ.

Vì sao bộ định tuyến tốn nhiều bộ nhớ

Pingora Backend Router định tuyến các yêu cầu có thể lưu vào bộ nhớ đệm tới máy chủ dựa trên URL. Cơ chế này giúp Cloudflare chỉ cần lưu một bản sao của mỗi tệp tại từng trung tâm dữ liệu và luôn xác định được vị trí của tệp. Thư viện pingora-ketama tạo nhiều điểm hash cho mỗi máy chủ để cân bằng tải, đồng thời dùng trọng số để máy có dung lượng lưu trữ lớn hơn nhận nhiều yêu cầu hơn.

Nhu cầu bộ nhớ còn tăng do các yêu cầu tuân thủ và những tính năng bộ nhớ đệm đang bật có thể giới hạn nhóm máy chủ được phép xử lý một yêu cầu. Vì vậy, Cloudflare phải duy trì các vòng hash riêng cho những tổ hợp năng lực máy chủ có thể liên quan.

Bản ghi nhỏ hơn, số hash ít hơn

Trước tiên, Cloudflare giảm kích thước lưu trữ của mỗi điểm hash từ 8 byte xuống 6 byte. Chỉ đổi chỉ mục từ số nguyên 32 bit sang 16 bit không giúp tiết kiệm dung lượng vì quy tắc căn chỉnh bộ nhớ của Rust. Nhóm phát triển vì thế lưu hash và chỉ mục trong một mảng 6 byte, rồi cung cấp phương thức truy xuất từng giá trị. Theo tính toán của Cloudflare, thay đổi này giảm 25% bộ nhớ dành cho consistent hashing.

Mức tiết kiệm lớn hơn đến từ việc phân tích tác động của số lượng hash tới độ chính xác khi phân phối tải. Cloudflare nhận thấy số lượng quá cao còn làm tăng khả năng va chạm trong không gian hash 32 bit. Dựa trên tính toán và mô phỏng, công ty xác định có thể giảm 90% số hash tạo cho mỗi máy chủ mà không phát sinh sai số đáng kể.

Chuyển đổi bộ nhớ đệm theo từng giai đoạn

Thay đổi vòng hash có thể chuyển các yêu cầu đã lưu đệm sang máy chủ khác. Do đó, chuyển toàn mạng ngay lập tức có nguy cơ gây mất cache trên diện rộng và làm tăng lưu lượng tới máy chủ gốc. Trong quá trình chuyển đổi, bộ định tuyến giữ đồng thời vòng cũ và vòng mới trong bộ nhớ, rồi lựa chọn nhất quán theo hash của từng yêu cầu, đồng thời duy trì khả năng quay lại phiên bản cũ.

Cloudflare bắt đầu tại các địa điểm xác thực quy mô nhỏ trước khi mở rộng sang những nhóm trung tâm dữ liệu lớn hơn. Công ty kiểm soát độc lập tỷ lệ lưu lượng dùng vòng mới và các địa điểm được phép chuyển đổi, đồng thời theo dõi dấu vết định tuyến, lỗi kết nối, bộ nhớ, thời gian khởi động, hoạt động của cache và lưu lượng tới máy chủ gốc.

Đã có trong pingora-ketama

Các thay đổi hiện có trong crate pingora-ketama thông qua một tính năng Cargo chưa được quảng bá. Vòng v2 bao gồm định dạng lưu trữ thu gọn, phương pháp sắp xếp nhanh hơn và khả năng điều chỉnh số hash cơ sở trên mỗi nút. Hành vi v1 ban đầu vẫn được giữ nguyên; ứng dụng có thể chạy đồng thời cả hai phiên bản để chuyển đổi ở cấp độ từng yêu cầu.

Ảnh minh họa do AI tạo.

Nguồn: Saving another 100TB of RAM with math (and Rust)