(by lpv)
Với hơn 38 ngàn tỉ DNS query mỗi tháng, Cloudflare đang là một trong những nhà cung cấp dịch vụ DNS hàng đầu thế giới. Mạng lưới của họ trải dài trên 270 thành phố tại hơn 100 quốc gia. Theo thống kê của w3, hiện Cloudflare đang được sử dụng làm nhà cung cấp máy chủ DNS bởi hơn 15% trang web trên toàn thế giới.
Ngoài response time, DNS query còn có những metric quan trọng khác nhưng đôi khi chưa được chú ý. Cụ thể là DNS Record Propagation, đây là khoảng thời gian một thay đổi được gửi tới thông qua API sẽ được phản ánh qua DNS query response.
Cloudflare sử dụng một multi-stage pipeline cho phép khách hàng thay đổi DNS record và push chúng lên mạng lưới toàn cầu.
Các bước thực hiện được tóm tắt như sau:
- Khách hàng thay đổi record thông qua DNS Records API (hoặc UI).
- Thay đổi được lưu xuống cơ sở dữ liệu.
- Database event kích hoạt gửi một Kafka message tới Zone Builder.
- Zone Builder nhận message và đẩy dữ liệu vào Quicksilver, một cơ sở dữ liệu phân tán dạng Key-value.
- Quicksilver đưa các thông tin ra mạng lưới bên ngoài.
Trong thực tế, Cloudflare phải xử lý hàng ngàn request thay đổi DNS record mỗi giây, trong khi vẫn phải đảm bảo tính nhất quán với DNS query response.
Trước đây, một trong những điểm thắt cổ chai trong mô hình này nằm ở Zone Builder. Zone Builder chịu trách nhiệm thu thập, tổ chức các record để ghi vào mạng lưới toàn cầu, và thường tiêu tốn thời gian nhiều nhất trong toàn bộ quá trình lan truyền thông tin (propagation), đặc biệt là với những khu vực lớn. Khi Cloudflare liên tục mở rộng quy mô, cần phải loại bỏ những điểm thắt cổ chai này trong hệ thống.
Mỗi mili giây cũng đều có giá trị quan trọng vì nó cho phép khách hàng nhanh chóng thay đổi cấu hình, giúp hệ thống nhanh hơn. Mặc dù đường truyền DNS của Cloudflare vốn dĩ đã rất nhanh, nhưng họ cũng đã xác định được một số cải tiến để cải thiện hiệu suất.
Zone Builder sẽ chỉ truy vấn từ cơ sở dữ liệu những record đã thay đổi, sau đó gửi những thông tin này đi. Tuy nhiên cách thực hiện lại không hề dễ dàng.
Trong bài viết này, tác giả giải thích cách cải tiến tốc độ cho DNS Record Propagation và các tác động của nó đối với khách hàng.
Mời các bạn cùng đọc và tìm hiểu.