03/12/2018, 22:05

TÌM HIỂU VỀ CDN VÀ CÁC TRƯỜNG HỢP NÊN DÙNG CDN CHO WEBSITE

CDN (Content Delivery Network) có thể hiểu là một hệ thống các server được đặt rải rác ở nhiều nơi, 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 ...

CDN (Content Delivery Network) có thể hiểu là một hệ thống các server được đặt rải rác ở nhiều nơi, 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.

Khi một tập tin được phân phối bởi CDN, người dùng truy cập 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. Ngược lại, 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 cập tập tin đó.

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

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

+ 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 máy chủ. Sau đó các PoP CDN sẽ tự động truy cập tới website theo tên miền đó và tự lưu lại bản sao toàn bộ nội dung tĩnh bên trong website. Và sau đó bạn có thể truy cập một tập tin nào đó trên website với đường dẫn CDN mà họ cung cấp hoặc sử dụng một tên miền riêng cho CDN. Ví dụ:

Tập tin gốc: https://thachpham.com/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 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ì các PoP CDN sẽ tự thu thập nội dung ở website thì bạn sẽ tải thẳng các nội dung cần phân phối qua CDN lên máy chủ của họ qua các giao thức phổ biến như FTP hoặc HTTP. Thường thì hiện nay họ hỗ trợ FTP là nhiều nhất.

Và với phương thức phân phối này, bạn sẽ có thể tiết kiệm được không gian lưu trữ trên máy chủ vì không có lưu gì ở đó cả.

7 công cụ mã nguồn mở giúp tìm kiếm lỗ hổng website

Streaming CDN
Mặc dù các kiểu CDN ở trên đều có hỗ trợ tập tin video nhưng nó lại không hỗ trợ phát live trực tiếp video (streaming). Vì vậy phương thức này sẽ giúp CDN phân phối nội dung streaming từ máy chủ và sau đó nó phân phối lại cho người dùng xem để tiết kiệm băng thông từ máy chủ streaming gốc. Hoặc bạn có thể lựa chọn cách tải thẳng nội dung streaming lên máy chủ 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 của CDN thì bạn sẽ nhận thấy rằng nó có các ư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 máy chủ gốc chỉ tốn một lần xử lý đó là chấp nhận request từ các PoP CDN, sau đó 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 nên máy chủ gốc sẽ không tốn thêm. Chỉ khi nào bạn tiến hành xóa các bản lưu nội dung trên CDN thì các PoP CDN sẽ tiến hành 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 tính chất các PoP CDN trải dài trên khắp các châu lục nên nó sẽ giúp website bạn truy cập nhanh hơn đối với các người dùng ở xa máy chủ của website. Ví dụ thachpham.com đặt máy chủ ở Mỹ mà nếu truy cập trực tiếp để xem một hình ảnh 300KB ở Việt Nam sẽ mất khoảng 0.5 giây (500ms). Thế nhưng nếu thachpham.com dùng CDN cho các nội dung tĩnh đó có hỗ trợ PoP tại Việt Nam thì người dùng chỉ mất 0.01 giây (10ms) để xem một tập tin, thậm chí còn nhanh hơn thế.

Tương tự với các người dùng ở quốc gia khác, CDN của ban càng có nhiều PoP ở nhiều quốc gia khác nhau thì càng có lợi trong việc tăng tốc website toàn cầu.

Tiết kiệm dung lượng
Nếu bạn có sử dụng phương thức Push CDN thì sẽ tiết kiệm được dung lượng lưu trữ cho máy chủ vì mọi thứ đã được upload lên thẳng máy chủ CDN. Tuy nhiên để 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ó vấn đề.

Tiết kiệm chi phí
Các dịch vụ CDN hiện nay đa phần sẽ có giá là khoảng $0.05 hoặc rẻ hơn, ở một số PoP Châu Á nếu có đắt hơn thì cao lắm cũng khoả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 hơn rất nhiều.

Khi nào nên dùng CDN
CDN có rất nhiều lợi ích khi sử dụng và nó là một trong những yêu cầu mà nhiều website phải sử dụng. Nhưng không phải website nào cũng cần thiết để sử dụng, mà CDN chỉ thật sự hữu í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 cần thiết 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 lý do phổ biến nhất là máy chủ của website đặt ở gần người dùng. Ví dụ bạn có máy chủ tại Việt Nam và phục vụ người dùng tại Việt Nam, nhưng bạn sử dụng CDN mà nếu CDN đó không có PoP tại Việt Nam thì website bạn sẽ chậm hơn vì lúc đó người dùng của bạn sẽ truy cập ở các PoP khác xa hơn so với máy chủ 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 ở máy chủ tại Việt Nam mà dùng nó thì người dùng ở Việt Nam sẽ vào chậm hơn so với bình thường.

Những lưu ý khi chọn dịch vụ CDN
Khi bạn tiến hành tìm chọn một dịch vụ CDN tốt và phù hợp để sử dụng lâu dài thì nên lưu ý đến hệ thống PoP của họ. Tốt nhất hãy nên ưu tiên chọn các dịch vụ CDN có hỗ trợ PoP ở quốc gia mà bạn có nhiều người dùng nhất. Ví dụ nếu bạn chọn CDN cho website Việt Nam thì nên ưu tiên các dịch vụ CDN có PoP tại Việt Nam như CDNSun, CDN.Net,…Mỗi nhà cung cấp đều có mục Network để bạn xem hệ thống PoP của họ nên lưu ý hãy xem cho kỹ trước khi sử dụng.

Ngoài ra, cái quan trọng thứ hai là giá cả và hình thức thanh toán. Các dịch vụ CDN hiện nay hỗ trợ hai kiểu thanh toán là dùng bao nhiêu trả bấy nhiêu (Pay-as-You-Go) hoặc trả phí cố định 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 thanh toán là pay-as-you-go sẽ tiết kiệm hơn vì mua theo gói có khi bạn không dùng hết.

Lưu ý cuối cùng là tốc độ, cái này bạn có thể kiểm chứng qua việc dùng thử dịch vụ và tiến hành ping tới địa chỉ CDN bằng dịch vụ CA App Synthetic Monitor để xem nó có thật sự tối ưu tốc độ không. Hoặc bạn có thể tham khảo qua các bài đánh giá CDN trên mạng.

GIỚI THIỆU: 20 công cụ test bảo mật website, kiểm tra mã độc website

0