01 · Bối cảnh
Cuộc thi cần xếp hạng cá nhân và tập thể theo điểm cùng thời gian nộp. Sort trực tiếp trên MySQL ở luồng nóng có thể trở thành nút thắt khi traffic tăng.
Case study kỹ thuật
Truy xuất thứ hạng nhanh, ghi điểm atomic và có khả năng rebuild từ nguồn dữ liệu bền vững.
01 · Bối cảnh
Cuộc thi cần xếp hạng cá nhân và tập thể theo điểm cùng thời gian nộp. Sort trực tiếp trên MySQL ở luồng nóng có thể trở thành nút thắt khi traffic tăng.
02 · Bài toán
Cần truy xuất hạng nhanh, xử lý tie-break theo thời gian, ghi đồng bộ dữ liệu ranking và có đường khôi phục khi Redis miss hoặc lệch dữ liệu.
03 · Kiến trúc
04 · Kết quả
Giải pháp đang chạy production với truy xuất thứ hạng O(log n), giảm phụ thuộc vào các thao tác sort nặng trên MySQL cho luồng ranking.
05 · Phạm vi sở hữu
Trực tiếp triển khai và vận hành phiên bản ranking Redis đang chạy production.
06 · Trade-off
HyperLogLog chỉ cho số lượng ước lượng. Redis score dùng kiểu double nên cần kiểm soát precision khi encode tie-break. MySQL vẫn là nguồn dữ liệu để rebuild khi cần.
Tôi có thể trình bày các quyết định kỹ thuật, giới hạn và phương án thay thế trong buổi trao đổi.
Email cho tôi