CDN là gì và khi nào nên dùng CDN cho website

Thuật ngữ CDN hoàn toàn có thể bạn sẽ phát hiện khá nhiều bài viết trên thachpham.com, hoặc khi bạn cần một người có kinh nghiệm tay nghề tư vấn giải pháp tiết kiệm ngân sách và chi phí băng thông sever và tăng vận tốc website đều sẽ được nghe tư vấn là sử dụng CDN. Vậy CDN đúng mực là cái gì, có bao nhiêu loại CDN, và website của bạn có thích hợp để sử dụng CDN không thì bài này sẽ cung ứng cho bạn những thông tin thiết yếu đó .

CDN là gì?

cdn-map

CDN là chữ viết tắt của Content Delivery Network và tốt nhất là đừng cố dịch sang tiếng Việt mà nên hiểu theo nghĩa tiếng Anh để tránh lệch lạc, hoặc nếu hiểu thì bạn nên dịch sang nghĩa là “mạng phân phối nội dung” sẽ ok hơn. Nghĩa là nó là một hệ thống máy chủ trên toàn cầu (số lượng tùy theo mỗi nhà cung cấp dịch vụ) làm nhiệm vụ lưu bản sao của các nội dung tĩnh bên trong website, sau đó phân tán nó ra nhiều máy chủ khác (được gọi là PoP – Points of Presence) và từ các PoP đó nó sẽ gửi tới cho người dùng khi họ truy cập vào website.

Trước tiên, chúng ta xem qua mô hình khác nhau giữa một website không sử dụng CDN và một website có sử dụng CDN.

Không sử dụng CDN

Khi người dùng xem một tập tin mà không có CDN, nghĩa là họ đã gửi một request thẳng đến máy chủ chứa website để truy vấn tập tin đó. Ví dụ link này của thachpham.com là truy vấn thẳng vào sever của thachpham.com .

Sử dụng CDN

Khi một tập tin được phân phối bởi CDN, người dùng truy vấn vào nó thì PoP phân phối gần nhất so với người dùng sẽ trả nội dung về cho người dùng xem. Ví dụ bạn truy vấn vào link này là xem một nội dung của thachpham.com trên CDN, ví dụ bạn ở Nước Ta thì PoP CDN tại Nước Ta sẽ phân phối nội dung cho bạn .

Một số hình thức CDN

Khi sử dụng một số ít dịch vụ CDN ( không tính CloudFlare hay những dịch vụ proxy CDN tương tự như ) thì bạn sẽ thấy họ có tương hỗ 1 số ít kiểu sử dụng CDN gồm có :

Pull HTTP/Static

Kiểu này nghĩa là bạn khai báo tên miền của website cần sử dụng CDN hoặc IP của sever. Sau đó những PoP CDN sẽ tự động hóa truy vấn tới website theo tên miền đó và tự lưu lại bản sao hàng loạt nội dung tĩnh bên trong website ( những hình ảnh, tập tin CSS, tập tin Javascript, Flash, Video, …. ). Và sau đó bạn hoàn toàn có thể truy vấn một tập tin nào đó trên website với đường dẫn CDN mà họ cung ứng hoặc sử dụng một tên miền riêng cho CDN. Ví dụ :

  • Tập tin gốc: https://blogchiase247.net/wp-content/uploads/2015/11/with-cdn.png
  • Tập tin CDN: http://static.thach.io/wp-content/uploads/2015/11/with-cdn.png

POST/PUSH/PUT/Storage CDN…

Cái này hoàn toàn có thể được gọi với nhiều cái tên khác nhau. Nhưng nó có một điểm chung là thay vì những PoP CDN sẽ tự tích lũy nội dung ở website thì bạn sẽ tải thẳng những nội dung cần phân phối qua CDN lên sever của họ qua những giao thức thông dụng như FTP hoặc HTTP. Thường thì lúc bấy giờ họ tương hỗ FTP là nhiều nhất .
Và với phương pháp phân phối này, bạn sẽ hoàn toàn có thể tiết kiệm chi phí được khoảng trống tàng trữ trên sever vì không có lưu gì ở đó cả .

Streaming CDN

Mặc dù những kiểu CDN ở trên đều có tương hỗ tập tin video nhưng nó lại không tương hỗ phát live trực tiếp video ( streaming ). Vì vậy phương pháp này sẽ giúp CDN phân phối nội dung streaming từ sever và sau đó nó phân phối lại cho người dùng xem để tiết kiệm ngân sách và chi phí băng thông từ sever streaming gốc. Hoặc bạn hoàn toàn có thể lựa chọn cách tải thẳng nội dung streaming lên sever CDN giống như Push CDN .

Ưu điểm khi dùng CDN

Như vậy sau khi bạn hiểu qua về cách hoạt động giải trí của CDN thì bạn sẽ nhận thấy rằng nó có những ưu điểm là :

Tiết kiệm băng thông cho máy chủ gốc

Băng thông từ mạng của sever gốc chỉ tốn một lần giải quyết và xử lý đó là đồng ý request từ những PoP CDN, sau đó những lượt truy vấn từ người dùng sẽ chỉ truy vấn vào nội dung trên CDN nên sever gốc sẽ không tốn thêm. Chỉ khi nào bạn triển khai xóa những bản lưu nội dung trên CDN thì những PoP CDN sẽ thực thi lấy nội dung lần nữa thì mới tốn thêm .

Tăng tốc lượt truy cập

Do đặc thù những PoP CDN trải dài trên khắp những lục địa nên nó sẽ giúp website bạn truy vấn nhanh hơn so với những người dùng ở xa sever của website. Ví dụ thachpham.com đặt sever ở Mỹ mà nếu truy vấn trực tiếp để xem một hình ảnh 300KB ở Nước Ta sẽ mất khoảng chừng 0.5 giây ( 500 ms ). Thế nhưng nếu thachpham.com dùng CDN cho những nội dung tĩnh đó có tương hỗ PoP tại Nước Ta thì người dùng chỉ mất 0.01 giây ( 10 ms ) để xem một tập tin, thậm chí còn còn nhanh hơn thế .
Tương tự với những người dùng ở vương quốc khác, CDN của ban càng có nhiều PoP ở nhiều vương quốc khác nhau thì càng có lợi trong việc tăng cường website toàn thế giới .

Tiết kiệm dung lượng

Nếu bạn có sử dụng phương pháp Push CDN thì sẽ tiết kiệm chi phí được dung tích tàng trữ cho sever vì mọi thứ đã được upload lên thẳng sever CDN. Tuy nhiên để bảo đảm an toàn bạn nên lưu lại nội dung ở một nơi nào đó đề phòng dịch vụ CDN có yếu tố .

Tiết kiệm chi phí

Chi tiêu tiết kiệm ngân sách và chi phí ở đây là ngân sách băng thông. Giả sử sever hoặc gói host của bạn chỉ tương hỗ một khoảng chừng băng thông được cho phép mỗi tháng nhất định thì khi hết bạn sẽ cần mua thêm hoặc tăng cấp băng thông. Giá băng thông thấy vậy chứ không hề rẻ, giá băng thông trung bình lúc bấy giờ trên 1 số ít nhà cung ứng host là khoảng chừng 20.000 đồng cho mỗi GB, tương tự $ 0.88 rồi. Nhưng những dịch vụ CDN lúc bấy giờ đa số sẽ có giá là khoảng chừng $ 0.05 hoặc rẻ hơn, ở 1 số ít PoP Châu Á nếu có đắt hơn thì cao lắm cũng khoảng chừng $ 0.1 cho mỗi GB băng thông. Vậy thì thay vì bạn mua thêm băng thông ở host thì hãy dùng CDN sẽ tiết kiệm chi phí hơn rất nhiều .

Khi nào nên dùng CDN?

CDN có rất nhiều quyền lợi khi sử dụng và nó là một trong những nhu yếu mà nhiều website phải sử dụng. Nhưng không phải website nào cũng thiết yếu để sử dụng, mà CDN chỉ thật sự có ích khi :

  • Máy chủ của website đặt xa người dùng.
  • Lượt truy cập lớn tốn nhiều băng thông.
  • Có nhiều lượt truy cập trên nhiều quốc gia khác nhau.
  • Khi sử dụng kỹ thuật Load Balancing FailOver.

Khi nào chưa cần thiết khi dùng CDN?

Như mình đã nói ở trên, trong nhiều trường hợp bạn không thiết yếu phải dùng CDN vì không những nó không giúp website nhanh hơn mà còn chậm hơn. Và một trong những nguyên do thông dụng nhất là sever của website đặt ở gần người dùng. Ví dụ bạn có sever tại Nước Ta và ship hàng người dùng tại Nước Ta, nhưng bạn sử dụng CDN mà nếu CDN đó không có PoP tại Nước Ta thì website bạn sẽ chậm hơn vì lúc đó người dùng của bạn sẽ truy vấn ở những PoP khác xa hơn so với sever gốc hiện tại nên thành ra chậm hơn .
Tương tự với dịch vụ proxy CDN như CloudFlare, website đặt ở sever tại Nước Ta mà dùng nó thì người dùng ở Nước Ta sẽ vào chậm hơn so với thông thường .

Những lưu ý khi chọn dịch vụ CDN

Khi bạn thực thi tìm chọn một dịch vụ CDN tốt và tương thích để sử dụng lâu bền hơn thì nên chú ý quan tâm đến mạng lưới hệ thống PoP của họ. Tốt nhất hãy nên ưu tiên chọn những dịch vụ CDN có tương hỗ PoP ở vương quốc mà bạn có nhiều người dùng nhất. Ví dụ nếu bạn chọn CDN cho website Nước Ta thì nên ưu tiên những dịch vụ CDN có PoP tại Nước Ta như CDNSun, CDN.Net, … Mỗi nhà cung ứng đều có mục Network để bạn xem mạng lưới hệ thống PoP của họ nên chú ý quan tâm hãy xem cho kỹ trước khi sử dụng .
Ngoài ra, cái quan trọng thứ hai là Ngân sách chi tiêu và hình thức giao dịch thanh toán. Các dịch vụ CDN lúc bấy giờ tương hỗ hai kiểu thanh toán giao dịch là dùng bao nhiêu trả bấy nhiêu ( Pay-as-You-Go ) hoặc trả phí cố định và thắt chặt mỗi tháng để sử dụng theo gói. Nếu website bạn tốn không nhiều băng thông thì nên chọn hình thức giao dịch thanh toán là pay-as-you-go sẽ tiết kiệm chi phí hơn vì mua theo gói có khi bạn không dùng hết .
Lưu ý sau cuối là vận tốc, cái này bạn hoàn toàn có thể kiểm chứng qua việc dùng thử dịch vụ và thực thi ping tới địa chỉ CDN bằng dịch vụ CA App Synthetic Monitor để xem nó có thật sự tối ưu vận tốc không. Hoặc bạn hoàn toàn có thể tìm hiểu thêm qua những bài nhìn nhận CDN trên mạng .

Một số tài nguyên CDN miễn phí

Đây 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 Mỹ hoặc 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.

Nó không giống như dịch vụ CDN đơn thuần mà mình trình diễn ở trên, bạn không hề sử dụng domain riêng cho CDN và không hề tải nội dung lên sever CDN của họ nhưng nó sẽ hoạt động giải trí bằng cách sử dụng một lớp proxy trung gian cho tên miền. Khi người dùng truy vấn vào website của bạn thì họ sẽ đi qua một lớp proxy và ở đó nó đã có sẵn CDN để phân phối nội dung trong trang, đường dẫn website không biến hóa .

Photon

Đây là một dịch vụ đặc biệt quan trọng dành cho người dùng WordPress có cài plugin JetPack. Nó sẽ tự đưa những tập tin hình ảnh trên website về sever CDN của Photon và phân phối cho người dùng để tiết kiệm chi phí băng thông và thời hạn tải trang .
Đây là dịch vụ CDN dành cho những thư viện Javascript. Ví dụ thay vì bạn tự host tập tin jquery.js của thư viện jQuery thì hoàn toàn có thể dùng link CDN của jsDelivr. Hiện tại nó tương hỗ tới hơn 1650 thư viện khác nhau, hầu hết mọi thư viện Javascript thông dụng đều có ở đó. Cách sử dụng đơn thuần là nhúng tập tin Javascript tới link của họ thay vì tự host .
Nếu bạn là người dùng WordPress thì hoàn toàn có thể cài plugin này để nó tự biến hóa những thư viện Javascript đang dùng trong website sang link CDN .
Cũng giống như jsDelivr, bạn hoàn toàn có thể sử dụng những link thư viện Javascript trên sever CDN của Google để tiết kiệm chi phí băng thông .

Một số dịch vụ CDN phổ biến

  • Amazon CloudFront
  • MaxCDN
  • CDN77
  • Akamai CDN
  • CacheFly
  • CDN.Net
  • CDNSun (có hỗ trợ PoP tại Việt Nam)
  • KeyCDN
  • CDN.Com.Vn (chỉ có PoP tại Việt Nam)
  • EdgeCast
  • CDNlion
  • SoftLayer
  • WPPronto

Cách dùng CDN

Về cách dùng CDN thì rất đơn thuần, đó là sau khi triển khai tạo dịch vụ CDN thì bạn chỉ cần sửa đường dẫn gốc của nội dung tĩnh trên website sang đường dẫn nội dung của CDN. Ví dụ :

[html][/html]

Đổi thành :

[html][/html]

Và nếu dùng WordPress thì có rất nhiều plugin tương hỗ tự đổi như WP Super Cache, W3 Total Cache, CDN Enabler, …
Ngoại trừ một số ít dịch vụ proxy CDN như CloudFlare hay Incapsula thì không cần đổi gì cả vì vốn tên miền đã được request trải qua CDN vì bạn đã trỏ DNS của tên miền sang dịch vụ của họ .

Lời kết

Trong bài này có lẽ rằng là mình đã trình diễn khá cụ thể về CDN rồi nên mình nghĩ chỉ bấy nhiêu thôi là đã quá đủ để bạn hiểu về CDN rồi. Thực tế lúc bấy giờ người làm website ở Nước Ta ít khi lựa chọn những dịch vụ host tại Nước Ta vì nhiều nguyên do tế nhị nên nhu yếu sử dụng CDN cũng khá cao. Hy vọng sau khi có kỹ năng và kiến thức thêm về CDN, bạn sẽ biết mình có nên sử dụng CDN hay không và hiểu về nó theo cách đúng nhất .

5/5 – ( 3 bầu chọn )

Rate this post