Con đường hướng tới Elasticity của Luft - Phần 2: Auto-Scaling với Query History
(engineering.ab180.co)Chia sẻ kinh nghiệm triển khai autoscaler dựa trên chi phí, tận dụng query history để cải thiện tính đàn hồi (elasticity) của Luft, cơ sở dữ liệu tự phát triển.
- Trong giai đoạn trước, hệ thống đã chuyển sang kiến trúc Shared Storage, nhưng để đạt hiệu quả thực tế thì vẫn cần một hệ thống auto-scaling hiệu quả.
- Hệ thống đã rời khỏi Kubernetes, chuyển sang mô hình cụm Self-managed sử dụng AWS SDK, đồng thời triển khai cách khôi phục các instance đã dừng để rút ngắn thời gian scale xuống còn khoảng hơn 10 giây.
- Thay vì cách tiếp cận auto-scaling truyền thống phụ thuộc vào các metric có độ trễ như mức sử dụng CPU/bộ nhớ, nhóm đã phát triển một mô hình dự đoán chi phí sử dụng query history.
- Thông qua query canonicalization để nhận diện các truy vấn tương tự, nhóm đã xây dựng hàm chi phí dùng lịch sử truy vấn để tính toán chi phí, từ đó có thể dự đoán tài nguyên chính xác hơn.
- Bằng cách chỉ cấp phát tài nguyên khi cần mà không overprovisioning, hệ thống đã giảm khoảng 40% chi phí instance và xây dựng được một hệ thống đàn hồi có thể xử lý cả các truy vấn nặng.
Chưa có bình luận nào.