CDN đã trở nên rất quen thuộc với người dùng. Nhưng bạn có biết rằng CDN giúp giảm tải Server một cách hiệu quả. Nếu đang sử dụng CDN hoặc có kế hoạch thuê CDN thì hãy tham khảo ngay bài viết này nhé.
CDN là gì? CDN là chữ viết tắt của Content Delivery Network, có thể dịch là là “Mạng lưới phân phối thông tin”. CDN là hệ thống các máy chủ (server) phân tán khắp thế giới nhằm mang dữ liệu đến người dùng nhanh chóng dù là ở bất kỳ đâu. CDN sẽ tùy vị trí của người dùng và các server dùng để lưu trữ thông tin. CDN đóng vai trò quan trọng để tăng tốc độ truyền dữ liệu. Và nó thật sự quan trọng với các trang web có ý định phát triển toàn cầu, vươn đến mọi châu lục. Thí dụ, một người ở Hà Nội muốn nhận tệp tin từ Mỹ thì chắc chắn phải mất nửa vòng Trái Đất. Rõ ràng người ấy sẽ tốn rất nhiều thời gian hơn nếu thông tin ấy gửi từ Nhật Bản, Singapore. CDN hoạt động thế nào? Nguyên tắc hoạt động của CDN CDN hoạt động theo nguyên tắc là phân bổ nội dung ở các server trên thế giới. Server có gần với người dùng nhất sẽ được chọn để gửi thông tin dữ liệu đến họ. Như vậy bạn có thắc mắc bằng cách nào mà CDN có thể xác định được {máy chủ|máy chủ (server)|server) gần với người dùng nhất để gửi tập tin, dữ liệu từ đó mà không phải từ máy chủ (server) khác. BởiDo chúng ta chỉ có 1 đường link, gửi 1 request từ brower nhưng lại có khá nhiều server? Cùng tìm ngay câu trả lời bằng cách tìm hiểu thêm về cách định tuyến (routing) trong CDN. Request Routing CDN hiện có ba định tuyến, là DNS Request, Transport Layer Request Routing và Application-layer Request Routing (Định tuyến ở tầng ứng dụng). Ba cách trên đều rất phức tạp và đòi hỏi phải có kiến thức sâu về network protocol. Hơn hết đây chỉ là các phân tích của chuyên gia chứ không phải là nhà cung cấp CDN. Nhưng, bạn cũng có thể xem Transport Layer Request Routing đó là: - Khi nhận kết quả từ DNS Server, người dùng gửi request đến IP của POP1 (Original Server). Đây là địa chỉ IP ảo (Virtual IO – VIP). - TLRS ở tầng POP1 sẽ kiểm tra thông tin người dùng, kiểm tra tiếp trong các Edge Server của nó xem server nào thích hợp để trả gói tin. Khi đã xác định được Edge Server phù hợp, POP1 sẽ chuyển request của người dùng đến Edge Server đó (POP2). - Sau khi kiểm tra dữ liệu được gửi từ POP1, POP2 sẽ đổi địa chỉ IP nguồn dựa theo IP ảo của POP1, rồi từ đó gửi nội dung lại cho người dùng. Khi nhận được tập tin, trình duyệt của người dùng vẫn tin rằng được gửi từ POP1 mà sẽ tiếp tục gửi các request tiếp theo. CDN và vai trò trong việc giảm tải Server Tốc độ cao, tiết kiệm băng thông Một request đến những link nằm trong tập tin HTML đầu tiên, gồm các link CSS, Javascript, video, hình ảnh,… trình duyệt sẽ gửi một request lên địa chỉ ấy. Nhưng khi sử dụng CDN thì thay vì request lên server của chúng ta, trình duyệt sẽ gửi request lên server khác. Cũng nhờ đó giảm được lưu lượng truy cập đến server hiện tại. Và quan trọng là tốc độ truyền tải cũng sẽ được đảm bảo ở mức tốt nhất. Tập tin được lưu lại cache của trình duyệt Ngày nay có khá nhiều trang web dùng CDN. Chẳng hạn như jQuery, Bootstrap. Nếu bạn truy cập đến web sử dụng thư viện jQuery của bạn mà máy tính đã truy cập vào trang web cũng dùng thư viện đó với đơn vị cung cấp CDN như bạn thì trình duyệt của người dùng sẽ không phải gửi request đi đâu cả mà sẽ load lại từ cache ra. Vì vậy mà tốc độ được cải thiện không ngờ. Load được nhiều tập tin tại một thời điểm Thông thường các trình duyệt sẽ giới hạn số lượng request đến một domain trong một thời điểm nhất định và con số này thường là 4. Vì vậy nếu người dùng có request vượt số lượng cho phép chẳng hạn như 5 đến cùng domain thì trình duyệt sẽ cho ít nhất 1 trong 4 request đang chạy được hoàn thành rồi mới là request số 5. Vì vậy, thông qua việc phân tán request sang một server khác (CDN), bạn không chỉ làm giảm được số lượng request lên server của mình mà còn giúp trình duyệt có khả năng thực hiện request khác cùng thời điểm. Các phiên bản đều được quản lý Version Control là chức năng có sẵn của CDN. Với vai trò là nhà phát triển web, người dùng sẽ dễ xác định tập tin, nội dung nào với phiên bản nào cần gửi cho người dùng mà không lo lỗi hay mất mát. Hạ tầng tốt Hiện nay có nhiều đơn vị cung cấp CDN uy tín, cho phép bạn có thể đăng ký để dùng thử trước khi quyết định có nên mua (tùy nhà cung cấp) hay không. Do thế, bạn có thể tin tưởng rằng các tập tin sẽ được truyền đến đích khi sử dụng CDN. Tính năng phân tích người dùng Đây là một chức năng rất có ích cho người dùng. Khi thuê CDN cũng chính là đồng nghĩa với việc bạn dã có một dịch vụ phân tích người dùng. Từ đó, bạn sẽ biết được ai, ở đâu, thời gian nào truy cập vào dịch vụ của mình, nhờ vậy giúp tìm ra những giải pháp thích hợp nhằm cải thiện chức năng hệ thống. Khu dùng CDN thì cần lưu ý gì Không nhất thiết lúc nào CDN cũng nhanh hơn khi tập tin đó chỉ được truy cập thông qua web của bạn hay khi bạn sở hữu một server đủ mạnh thì tốc độ có khi nhanh hơn server của CDN. Một ví dụ cụ thể đó là người dùng truy cập từ Việt Nam và server đặt ở Việt Nam thì hẳn sẽ nhanh hơn CDN. Bởi CDN đặt server gần nhất là tại Singapore chứ không phải ở Việt Nam. Không hẳn lúc nào CDN cũng là chọn lựa tốt nhất bởi nếu chỉ muốn hướng đối tượng người dùng đến một quốc gia nhất định. Tức là bạn không có dự định toàn cầu hóa website thì việc dùng CDN có thể trở nên thừa thải, không cần thiết. Không phải công ty nào cũng có thể đủ khả năng xây dựng một hệ thống CDN do nó quá phức tạp, đòi hỏi sự tham gia của nhiều bên liên quan ở nhiều quốc gia. Vì vậy, việc sử dụng các dịch vụ cung cấp CDN vẫn là lựa chọn thích hợp. Nên khi đưa ra quyết định thì bên cạnh vấn đề giá cả thì việc bảo mật thông tin cũng cực kỳ quan trọng. Nếu tập tin Javascript của bạn bị chỉnh sửa và cài mã độc thì sẽ làm nguy hiểm cho người dùng và trang web của bạn. Khi bạn deploy server với các tập tin tĩnh cần đẩy lên server CDN thì có nghĩa là công việc deploy của bạn sẽ trở nên phức tạp và rủi ro. Vì thế cần đảm bảo cơ chế deploy một cách tốt nhất để hạn chế tạo nên các lỗi không đáng có.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |