Domain sharding là gì?
- ★
- ★
- ★
- ★
- ★
Các trình duyệt giới hạn số lượng kết nối đang hoạt động cho mỗi tên miền (domain). Để cho phép tải xuống đồng thời các nội dung vượt quá giới hạn đó, tính năng domain sharding sẽ chia nhỏ nội dung trên nhiều tên miền phụ (subdomain). Khi nhiều tên miền được sử dụng để phân phát nhiều nội dung, các trình duyệt có thể tải xuống đồng thời nhiều tài nguyên hơn, dẫn đến thời gian tải trang (page load time) nhanh hơn và cải thiện trải nghiệm người dùng (user experience).
Về mặt hiệu suất, vấn đề với domain sharding là chi phí tra cứu cứu DNS (DNS lookup) bổ sung cho mỗi tên miền và chi phí thiết lập mỗi kết nối TCP.
Phản hồi (response) ban đầu từ một yêu cầu HTTP (HTTP request) thường là một file HTML liệt kê các tài nguyên (resource) khác như JavaScript, CSS, hình ảnh và các file đa phương tiện (media file) khác cần được tải xuống. Do trình duyệt giới hạn số lượng kết nối hoạt động trên mỗi tên miền, nên việc phân phát tất cả các tài nguyên được yêu cầu từ một tên miền có thể bị chậm do nội dung cần được tải xuống tuần tự. Với tính năng domain sharding, các bản tải xuống bắt buộc được cung cấp từ nhiều tên miền, cho phép trình duyệt tải xuống đồng thời các tài nguyên cần thiết. Tuy nhiên, nhiều tên miền là một antipattern vì việc tra cứu DNS làm chậm thời gian tải (load time) ban đầu.
HTTP2 hỗ trợ các yêu cầu đồng thời không giới hạn khiến việc domain sharding trở thành một yêu cầu lỗi thời khi HTTP/2 được kích hoạt.
Learning English Everyday