CDN là từ viết tắt của Content Delivery Network (Mạng lưới phân phát nội dung) hay Content Distribution Network (Mạng lưới phân phối nội dung).CDN là mạng lưới phân phối toàn cầu các máy chủ Proxy được triển khai ở nhiều trung tâm dữ liệu khác nhau. Mục tiêu của CDN là để phục vụ nội dung cho người dùng cuối với hiệu xuất và mức sẵn sàng đáp ứng cao nhất. Hiện tại, CDN đang phục vụ một lượng lớn các nội dung trên internet, gồm có các đối tượng web (văn bản, kịch bản và đồ họa), các đối tượng tải xuống được (tài liệu, phần mềm, các file video, âm thanh, hình ảnh), các ứng dụng (thương mại điện tử, cổng thông tin), các dịch vụ giải trí trực tuyến và các mạng xã hội.
CDN – Content Delivery Network – Mạng lưới phân phối nội dung. Ảnh CloudFront.net
Hiểu đơn giản, CDN là một hệ thống các cache server được phân tán thành các điểm hiện diện (PoP – Points of Presence) trên toàn cầu giúp tăng tốc độ truy cập và giảm băng thông lên server chính của website hay ứng dụng.
Cache server: là một dịch vụ hay một máy chủ mạng làm nhiệm vụ tạo bản sao các trang web hay các nội dung khác trên internet về bộ nhớ nội bộ. Với việc sắp xếp các thông tin được yêu cầu trước vào bộ nhớ tạm (còn gọi là cache), cache server không những giúp tăng tốc độ truy cập dữ liệu mà còn làm giảm nhu cầu băng thông lên server chính.CDN thường được phân tán ở nhiều điểm hiện diện (PoP), mỗi điểm hiện diện có thể có nhiều nút (nodes) và trong nỗi nút có thể có nhiều server. Sự khác biệt giữa các CDN là ở kiến trúc, số lượng các nút (nodes) và các server. Các CDN lớn có thể đạt tới hàng nghìn nút (nodes) với hàng chục nghìn server trên nhiều điểm hiện diện (PoP) khác nhau.
Các nút CDN thường được triển khai tại nhiều địa điểm và nhiều mạng trục (backbones) khác nhau trên toàn thế giới. Lợi ích của việc này là làm giảm chi phí băng thông, cải thiện thời gian tải trang hay tăng mức độ hiện diện toàn cầu của nội dung.
Khi có yêu cầu truy xuất nội dụng, các thuật toán sẽ tính toán để tối ưu hóa và đưa ra một điểm nút có khả năng phục vụ người dùng cuối tốt nhất.
Với phương thức này, người dùng sẽ gửi yêu cầu truy xuất trực tiếp đến web server và nhận phản hồi trực tiếp từ web server. Nếu như vị trí của người dùng ở xa hoặc rất xa so với web server thì thời gian đáp ứng sẽ là rất lâu.
Phương thức truy cập trực tiếp đến web server
Với cách truy cập này, thay vì kết nối trực tiếp đến web server, người dùng sẽ được các cache server tại các PoP của CDN gần nhất phục vụ. Vì các điểm hiện diện này nằm rất gần vị trí của người dùng nên theo đó mà thời gian tải trang của website cũng nhan lên đáng kể, có thể gấp đến vài lần so với phương thức kết nối trực tiếp.
Ví dụ: Web server của Phamen đặt tại Mỹ.
Người dùng ở Việt nam thay vì phải đi một quãng đường rất dài để kết nối với web server của Phamen ở Mỹ, thì các máy chủ ở POP Châu Á sẽ phục vụ cho người dùng Việt Nam.
Người dùng ở Úc, không phải kêt nối đến Mỹ nữa, mà họ sẽ được điểm hiện diện của CDN ở Úc phục vụ. Khi đó độ trễ sẽ giảm và tốc độ tải trang rất nhanh.
Với những website có người trụy cập trên toàn thế giới thì CDN là tùy chọn không thể thiếu.
Phương thức truy cập thông qua các điểm hiện diện của CDN
Hầu hết các CDN đều hoạt động dưới dạng SaaS (software as a service – phần mềm như một dịch vụ) hay ODS (on-demand software – phần mềm theo yêu cầu). Ngày càng có nhiều các nhà cung cấp dịch vụ mạng internet xây dựng CDN cho riêng họ để cải thiện việc phân phối nội dung trên mạng internet và để giảm tải các nhu cầu trên chính hạ tầng viễn thông của mình, đồng thời có thêm thu nhập từ việc cung cấp dịch vụ cho các khách hàng. Có thể kể đến các ông lớn như Microsoft Azure CDN, Amazon CloudFront và Google Cloud CDN.
Vì nội dung của các web server chứa các website đã được lưu trữ trên các máy chủ của CDN, nên thực chất khi người dùng yêu cầu truy xuất thì nội dụng mà họ nhận được là do các máy chủ CDN cung cấp. Điều này không những làm giảm việc tiêu thụ băng thông, mà còn giúp giảm tải cho web server chứa website rất nhiều. Với sự hỗ trợ của CDN, một web server bình thường cũng có thể phục vụ cho lượng yêu cầu truy cập lớn gấp nhiều lần khả năng đáp ứng của nó. Giảm băng thông và tăng khả năng chịu tải của web server đồng nghĩa với việc giảm chi phí phải đầu tư cho web server của bạn. Đó chính là những lợi ích mà bạn có được nhờ CDN.
Đặc điểm của CDN là phân tán các điểm hiện diện (PoP) tại nhiều nơi trên thế giới, nên với truy xuất tại mỗi một địa điểm thì sẽ có một điểm hiện diện gần nhất phục vụ. Càng có nhiều điểm hiện diện thì khả năng đáp ứng càng tốt. Khi mà khoảng cách của người dùng cuối tới web server được rút ngắn nhất thì sẽ dẫn tới > khoảng cách ngắn nhất > ít điểm trung chuyển mạng internet nhất > thời gian và độ trễ ngắn nhất > tối độ truy cập hay tải trang nhanh nhất.
Với việc nội dung được phân tán trên CDN thì khả năng đáp ứng số lượt truy xuất của người dùng sẽ càng lớn hơn.
Ví dụ: với một web server đặt tại trung tâm dữ liệu có tốc độ đường truyền 10Gb/s thì tại mỗi thời điểm web server của bạn chỉ phục vụ được 1.000 lượt truy cập. Nhưng với việc sử dụng CDN có cùng tốc độ đường truyền như trên, nhưng lại có đến 10 điểm hiện diện trải rộng toàn cầu. Khi đó, website của bạn có thể phục vụ được 10.000 lượt truy cập đồng thời.
Tăng mức độ hiện diện toàn cầu, hay nói cách khác là dữ liệu của bạn được lưu trữ tại nhiều nơi trên thế giới. Nó không chỉ tăng tốc và đáp ứng tốt hơn cho nhu cầu truy xuất nội dung của người dùng cuối tại các vị trị khác nhau, mà còn có một tác dụng cực lớn là giúp phân tán rủi ro của việc mất mát dữ liệu. Nếu chẳng may dữ liệu tại một nơi nào đó bị hỏng hay mất mát, cứ yên tâm, chúng ta vẫn còn những bản lưu trữ ở nhiều nơi khác nhau nữa. Chúng sẽ liên tục phục vụ và giúp dịch của bạn không bị gián đoạn.
Khi mà dịch vụ (website, ứng dụng) hoạt động liên tuc không gián đoạn và tốc độ đáp ứng nhanh hơn thì chắc chắn rằng trải nghiệm mà chúng ta mang đến cho người dùng sẽ tốt hơn. Bạn sẽ nhận được rất nhiều lợi ích về kinh tế, về hình ảnh và thương hiệu từ sự cải thiện này.
Google đã tuyên bố rõ ràng rằng các site có tốc độ nhanh hơn sẽ được xếp hạng (rank) cao hơn trên các kết quả tìm kiếm. Lợi ích này là không hề nhỏ và nó nằm hoàn toàn trong tầm tay của chúng ta.
Vâng, chắc chắn rồi. Ngoài các dịch vụ miễn phí với một số hạn chế nhất định, thì việc sử dụng dịch vụ của các nhà cung cấp CDN là phải trả phí.
Vì sử dụng dịch của của nhà cung cấp CDN, nên chúng ta sẽ hoàn toàn phải nhờ cậy và sự hỗ trợ của họ khi có việc gì đó phát sinh. Sẽ luôn có những nghi vấn về sự sẵn sàng và khắc phục sự cố của nhà cung cấp.
Những lợi ích và hiệu quả mà CDN đem lại là rất lớn. Tuy vậy, ta phải căn cứ vào từng điều kiện và hoàn cảnh cụ thể để áp dụng thì CDN mới thực sự phát huy sức mạnh của nó, nếu không thì lợi lại bất cập hại. Những trường hợp cần đến CDN như sau:
Khi có người dùng truy cập từ nhiều nơi trên thế giớiKhi người dùng cách xa web server của bạnKhi muốn giảm băng thông và tăng khả năng chịu tại của web server.
Trong nhiều trường hợp, việc sử dụng CDN là không cần thiết và đôi khi nó còn làm giảm hiệu năng hay chậm hơn tốc độ website của bạn. Một trong những lý do có thể kể ra như sau:
Do vị trí của điểm hiện diện (PoP) của CDN ở xa hơn người dùng cuối hơn là web server gốc chứa website. Tốc độ hay khả năng đáp ứng của các nút (node) CDN thấp hơn khả năng đáp ứng của server gốc. CDN được phân luồng để đi qua quá nhiều điểm trung chuyển (hops) gây ra độ trễ lớn.
Hãy chú ý thử nghiệm trước khi áp dụng để đảm bảo bạn không gặp phải những hạn chế kể trên.
Qua bài viết này, Phamen hi vọng các bạn đã trình bày được khái niệm CDN là gì và những tiềm năng và lợi ích to lớn mà nó mang lại cho chúng ta. Có nên sử dụng CDN hay không và khi nào thì nên sử dụng là quyết định của riêng bạn. Tuy vậy, hãy nên cân nhắc đến CDN vì những ưu điểm của nó.
Đăng nhận xét