CDN là gì? Tổng hợp kiến thức chi tiết về CDN
Thịnh Văn Hạnh 04/12/2019 1715 Lượt xem Chia sẻ bài viết
Hiện nay, CDN ngày càng được ưa chuộng cho mô hình website. Nhưng khái niệm này vẫn còn đang mới mẻ với nhiều người sử dụng. Bài viết dưới đây BKNS sẽ giải đáp thắc mắc CDN là gì? Khi nào nên dùng CDN?
Tóm Tắt Bài Viết
1. CDN là gì?
CDN (tên tiếng anh là Content Delivery Network), được dịch là mạng giao dịch nội dung. Đây là một hệ thống máy chủ trải dài trên toàn cầu, có mục đích lưu bản sao của những nội dung tĩnh bên trong website sau đó phân tán ra nhiều máy chủ khác (PoP) sau đó PoP sẽ phản hồi lại thông tin cho người dùng khi họ truy cập vào website.
2. Mô hình website khi không sử dụng và có sử dụng CDN
2.1 Mô hình website khi không dùng CDN
Người dùng xem một tập tin không có CDN, điều này có nghĩa là người dùng đã gửi 1 yêu cầu đến máy chủ chứa website để truy cập tập tin này như hình dưới đây:
2.2 Mô hình website khi sử dụng CDN
Khi những tập tin được phân phối bởi CDN cũng có nghĩa là khi người dùng xem tập tin thì PoP sẽ phân phối đến nơi gần nhất với người dùng. Sau đó PoP sẽ phản hồi lại bằng cách trả nội dung cho người truy cập như hình sau đây:
3. Những hình thức CDN phổ biến hiện nay
3.1 Streaming CDN
Hiện nay nhiều kiểu CDN đều hỗ trợ tập tin video nhưng lại không hỗ trợ phát trực tiếp video. Nhưng bạn cũng không cần lo lắng quá. Bởi phương thức này sẽ giúp CDN phân phối nội dung streaming từ máy chủ từ đó phân phối lại cho người dùng xem với mục đích hạn chế băng thông ít nhất từ máy chủ streaming gốc. Hoặc sử dụng cách tải thẳng nội dung streaming lên máy chủ CDN.
3.2 POST/PUSH/PUT/Storage CDN…
Điểm chung của tất cả cái này là người dùng sẽ tải trực tiếp nội dung cần phân phối qua CDN lên máy chủ qua các giao thức phổ biến như HTTP hoặc FTP. Theo thực tế thì đa số các giao thức mà họ hỗ trợ là FTP.
Khi sử dụng phương thức phân phối này, thì người dùng có thể tiết kiệm được rất nhiều không gian lưu trữ trên máy chủ bởi lý do không có lưu gì ở đó cả.
3.3 Pull HTTP/Static
Khi bạn xác định tên miền của website cần dùng IP hay CDN của máy chủ. Sau đấy, các PoP CDN sẽ tự động truy cập tới website theo tên miền và tự lưu lại toàn bộ nội dung tĩnh bên trong website (Video, Flash, tập tin Javascript, tập tin CSS, các hình ảnh,…) Sau đó bạn có thể truy cập 1 tập tin nào đó trên website với đường dẫn CDN mà họ cung cấp tên miền cho CDN.
4. Tại sao nên dùng CDN?
4.1 Tiết kiệm chi phí
Khi dùng CDN, bạn sẽ tiết kiệm được một khoản chi phí đến từ băng thông. Khi bạn sử dụng host hay máy chủ thì chỉ giới hạn số dung lượng băng thông cho phép nhất định nào đó trong trường hợp hết hạn, bạn sẽ nhất định cần nâng cấp hoặc mua thêm băng thông để sử dụng. Nếu phải bỏ tiền ra mua thì giá băng thông không hề rẻ, ở một số nhà cung cấp host có giá băng thông trung bình khoảng 0.88 USD cho mỗi GB. Bên cạnh đó những dịch vụ CDN khác sẽ có giá cao nhất là 0.05 USD, đối với ở một số PoP Châu Á nếu có đắt nhất cũng chỉ đến 0.1 USD cho mỗi GB băng thông. Do vậy bạn nên dùng CDN sẽ hạn chế chi phí mức thấp nhất có thể hơn là mua thêm băng thông.
4.2 Tiết kiệm dung lượng
Bạn sẽ tiết kiệm được cả dung lượng cho máy chủ nữa nếu sử dụng phương thức Push CDN. Do mọi tài liệu văn bản,… tất cả mọi thứ đã được upload thẳng lên máy chủ CDN. Tuy nhiên để bảo mật thông tin thì người dùng nên lưu lại nội dung ở một chỗ để đề phòng dịch vụ CDN gặp phải vấn đề nào đó.
4.3 Độ truy cập nâng cao
Trải dài trên khắp các thế giới đều có tính chất PoP CDN. Vì vậy website cho phép bạn truy cập nhanh hơn đối với những người sử dụng đang truy cập ở vị trí ở xa máy chủ đối với website. Tương tự với các người dùng ở quốc gia khác. Chẳng hạn máy chủ bkns.vn được đặt tại nước ngoài thì bạn sẽ mất một khoảng thời gian ví dụ là 0.6 giây để xem 1 hình ảnh trực tiếp với dung lượng 800KB tại Việt Nam nhưng nếu máy chủ bkns.vn được đặt tại Việt Nam thì bạn chỉ mất khoảng thời gian ngắn hơn để xem hình ảnh đó.
Cũng như với người dùng ở quốc gia khác, CDN càng đặt ở nhiều PoP ở các quốc gia khác nhau thì càng có thế mạnh trong việc tăng tốc website toàn cầu.
4.4 Tiết kiệm băng thông cho máy chủ gốc
Mạng của máy chủ gốc, băng thông chỉ tốn 1 lần xử lý chính là chấp nhận yêu cầu đến từ PoP CDN. Sau đấy thì các lượt truy cập từ người dùng sẽ chỉ truy cập vào nội dung trên CDN vì vậy máy chủ gốc sẽ không tốn thêm. Những PoP CDN sẽ tiến hành lấy nội dung lần nữa thì mới tốn thêm trong trường hợp người dùng tiến hành xoá các bản lưu nội dung trên CDN.
4.5 Những lợi ích khác của CDN
- Trong trường hợp bạn sử dụng nhiều server mà có server nào đó bị sập, nhưng nếu bạn có thể truy cập website khác của hệ thống CDN.
- Tăng tính ổn định của hệ thống: đối với những hệ thống hoạt động phụ thuộc vào 1 server nhưng không sử dụng CDN mà server đó bị sập thì cả hệ thống cũng không hoạt động theo nhưng khi sử dụng CDN thì hệ thống vẫn sẽ hoạt động bình thường.
- Người dùng không cần lấy dữ liệu và truy cập đến server chính mà chỉ cần lấy dữ liệu từ cache của CDN mà còn nhanh và tiết kiệm băng thông.
- Caching, không tốn băng thông: Theo thực tế, người dùng lưu trữ những file tính như css, ảnh,.. trên CDN nhưng đối với một số CDN thì có thể dùng để cache kết quả từ server (dynamic caching)
- Chống DDOS: sử dụng dịch vụ CDN sẽ đi kèm thêm dịch vụ chống DDOS. Hiện nay DDOS xuất hiện vô cùng phổ biến nên dịch vụ chống DDOS là cần thiết. Các CDN có khả năng chịu tải cao, có sẵn bộ lọc để chống DDOS trước khi xuất hiện những vấn đề xấu xảy ra.
- Tăng bảo mật: người dùng có khả năng tự cài đặt SSL edge server trong CDN để tăng an toàn cho toàn bộ hệ thống.
5. Một số dịch vụ CDN phổ biến
- WPPronto
- SoftLayer
- CDNlion
- EdgeCast
- CDN.Com.Vn
- KeyCDN
- CDNSun
- CDN.Net
- CacheFly
- Akamai CDN
- CDN77
- MaxCDN
- Amazon CloudFront
6. Một số tài nguyên CDN miễn phí
6.1 Google Hosted Library
Người dùng có thể sử dụng liên kết thư viện Javascript trên máy chủ CDN của Google để hạn chế băng thông.
6.2 jsDelivr
Đây chính là dịch vụ CDN cho các thư viện Javascript. Chẳng hạn bạn có thể sử dụng liên kết CDN của jsDelivr, thay vì tự host tập tin jquery.js của thư viện jQuery. Hiện tại, hầu như mọi thư viện Javascript phổ biến đều có ở đó. Cách dùng đơn giản là nhúng tập tin Javascript tới liên kết của họ thay vì tự host.
Trong trường hợp nếu bạn là người dùng WordPress thì có thể cài plugin này để nó tự chỉnh sửa các thư viện Javascript đang sử dụng trong website qua liên kết CDN.
6.3 Photon
Nếu bạn đang sử dụng dịch vụ đặc biệt dành cho người dùng WordPress có cài plugin JetPack. Nó sẽ tự đưa các tập tin hình ảnh trên website về máy chủ CDN của Photon và phân phối cho người dùng để tiết kiệm băng thông và thời gian tải trang.
6.4 CloudFlare
Đây chính là dịch vụ proxy có hỗ trợ CDN miễn phí khá phổ biến. Nếu như website của bạn đặt host tại Châu Âu thì dịch vụ này sẽ giúp bạn tối ưu tốc độ website rất nhiều dành cho các lượt truy cập tại Việt Nam.
CloundFlare không như dịch vụ CDN đơn giản, người dùng không thể dùng domain riêng cho CDN và không tải nội dung lên máy chủ CDN nhưng họ sẽ hoạt động bằng cách sử dụng một lớp proxy ở giữa dành cho tên miền. Khi người dùng vào website thì họ sẽ đi qua một lớp proxy. Ở đó nó đã có sẵn CDN để phân phối nội dung trong trang, đường dẫn website sẽ không thay đổi.
7. Khi nào nên dùng và không nên dùng CDN?
Bạn không nên sử dụng CDN khi máy chủ website đặt gần người dùng. Chẳng hạn như máy chủ của bạn đặt tại Việt Nam thì việc dùng CDN là không cần thiết bởi có khi nó có khi sẽ truy cập lâu hơn.
Tuy nhiên, CDN thực sự cần thiết cho nhiều website khi:
- Khi dùng kỹ thuật Load Balancing FailOver.
- Có nhiều lượt truy cập trên nhiều quốc gia trên thế giới
- Lượt truy cập lớn tiêu hao nhiều băng thông
- Máy chủ website đặt ở vị trí xa người dùng.
8. Lưu ý khi chọn dịch vụ CDN
Sau đây là những lưu ý khi người dùng nên để ý khi lựa chọn dịch vụ CDN:
- Xem xét kỹ hệ thống PoP: điểm đầu tiên khi lựa chọn dịch vụ CDN thì bạn cần ưu tiên các dịch vụ có hỗ trợ PoP ở nước mà phổ biến nhất. Chẳng hạn, nếu bạn lựa chọn này cho website ở Việt Nam thì hãy lựa chọn các dịch vụ có PoP ở Việt Nam như CDNSun, CDN.Net,.. Từng nhà cung cấp dịch vụ đều có mục Network để bạn xem hệ thống PoP của họ nên hãy lưu ý trước khi sử dụng.
- Xem xét giá cả cùng với hình thức thanh toán: Hiện nay, CDN có hỗ trợ 2 kiểu thanh toán phổ biến chính là trả phí cố định hàng tháng hoặc sử dụng bao nhiêu thì trả bấy nhiêu (Pay as You Go). Trong trường hợp website không sử dụng nhiều băng thông thì bạn nên chọn thanh toán theo hình thức là dùng bao nhiêu trả bấy nhiêu sẽ tối đa chi phí giúp bạn đề phòng bạn không thể dùng hết nếu thanh toán theo hình thức cố định mỗi tháng
- Tốc độ: bạn nên sử dụng thử các dịch vụ và tiến hành ping tới địa chỉ CDN bằng dịch vụ CA App Synthetic Monitor để xem đây có thực sự tối ưu tốc độ không. Hoặc cũng có thể tham khảo qua các bài đánh giá CDN trên mạng.
Bài viết trên BKNS đã cung cấp thông tin cho bạn về CDN là gì. Nếu còn bất cứ thắc mắc nào về CDN thì hãy liên hệ với BKNS để được giải đáp nhanh nhất. Đừng quên truy cập BKNS để biết thêm thông tin hữu ích khác nữa nhé.
>> Tìm hiểu thêm: Akamai netsession interface là gì? Phần mềm này có hại không?