Xây dựng website đáp ứng lượng truy cập lớn ngay từ đầu - Phần 3

video này sẽ đi giải quyết những vấn đề có thể tối ưu được khi phân giải tên miền (DNS). Giới thiệu các bạn làm quen với khái niệm về CDN hay Content Delivery Network. Đây là video 3 trong loạt các video trong chủ đề hướng dẫn cho DEV cách để xây dựng một hệ thống website có thể đáp ứng được một lượng truy cập lớn.

VIDEO NỘI DUNG

CDN - Content Delivery Network là gì?

Ví dụ tôi có 2 server đặt ở TP Hồ Chí Minh và Hà Nội.

  • Khi người dùng ở TP Hồ Chí Minh truy cập website của tôi thì họ được đưa tới IP của server đặt ở TP Hồ Chí Minh. 
  • Nếu người dùng ở Hà Nội truy cập website của tôi thì họ sẽ được đưa tới IP của server tại Hà Nội. 

Như vậy, một hệ thống nhiều server được phân chia theo vị trí địa lý như vậy nhầm phục vụ cho những người dùng ở lân cận được gọi là CDN.

CDN hoạt động ra sao?

  • Nhiều server có IP riêng được phân bố rộng rãi trên phạm vi địa lý mà người dùng website đó có thể tồn tại ở đó.
  • Khi người dùng truy cập vào tên miền, hệ thống DNS của CDN sẽ nhận biết được vị trí của người dùng (bằng cách phân tích IP của người dùng) rồi trả về IP của server ở gần người dùng đó nhất.
  • Trình duyệt sẽ gửi REQUEST lên server có IP đã nhận từ DNS (gần người dùng nhất)

Cách đồng bộ nội dung trên nhiều Server của hệ thống CDN?

Có một SERVER gốc mang giá trị gốc làm tiêu chuẩn.

Các SERVER còn lại trong CDN đóng vai trò CACHE SERVER để phục vụ người dùng. Những cache server này gọi là những PoP (Points of Presence)

Có 2 cách đồng bộ dữ liệu như sau:

  • Khi nội dung có thay đổi ở SERVER gốc thì nội dung thay đổi này sẽ được PUSH lên các CACHE SERVER để thay đổi theo. Cách này là “chu đáo tới từng khách hàng” vì không ai phải chờ lâu cả.
  • Khi người dùng truy cập PoP mà không có nội dung, PoP sẽ lấy nội dung từ SERVER gốc và lưu lại cho ai tới sau. Cách này gọi là “hi sinh quân tiên phong” vì người dùng đầu tiên của 1 nội dung tại 1 PoP sẽ phải chờ lâu hơn những người sau.

Làm sao để tự triển khai hệ thống CDN?

Trang bị và xây dựng máy chủ gốc, lựa chọn chỗ đặt phù hợp nhất

Trang bị và xây dựng hệ thống PoP trên các vùng địa lý cần phục vụ

Tự xây dựng một dịch vụ DNS để có thể chủ động gán IP phù hợp cho vị trí của từng người dùng mỗi khi có sự phân giải IP tên miền.

Cuối cùng là hệ thống quản lý việc đồng bộ hóa dữ liệu cũng như tình trạng của toàn bộ thiết bị trong hệ thống DNS đã tạo.

Muốn sử dụng CDN mà không thể tự triển khai?

Có rất nhiều nhà cung cấp dịch vụ CDN, nếu nhu cầu của bạn không quá lớn và cần phải tự chủ động nhiều thì đi thuê cũng là một giải pháp tốt. 

Khi thuê CDN thì phải lưu ý tới điều quan trọng nhất là sự phân phối PoP của nhà cung cấp CDN tập trung chủ yếu ở đâu. Vì nếu bạn chỉ quan tâm khách hàng Việt Nam thì sự phân phối PoP trên lãnh thổ Việt Nam mới mang về hiệu quả.

Giá thành CDN thường có 2 loại: dùng bao nhiêu trả bấy nhiêu (500 VNĐ  3000 VNĐ / GB) hoặc theo gói.

Một số nhà cung cấp dịch vụ CDN tham khảo: CDNSun (dịch vụ quốc tế có PoP tại Hà Nội và TP HCM), CDN.COM.VN (Dịch vụ quốc tế của Việt Nam, có 188 PoP quốc tế và 11 PoP ở Việt Nam). Số liệu này lấy được và tháng 8/2017.

...

HẾT VIDEO PHẦN 3

ỦNG HỘ TÁC GIẢ (DONATE) Nếu bạn muốn ủng hộ tài chính cho tác giả, bất kể bao nhiêu, bạn có thể chuyển khoản qua:

TECHCOMBANK, NGUYÊN KIỆM, TP HỒ CHÍ MINH
Chủ tài khoản___ : ĐẶNG VĂN LEL
Số tài khoản____ : 19027982455010

Website nhằm mục đích giúp cho các bạn có thể theo dõi các bài viết và video mới dễ dàng và thuận tiện hơn. Giao diện và các tính năng sẽ dần hoàn thiện, mọi ý kiến đóng góp xin liên hệ thông qua Facebook Page "Thư Viện Lập Trình"

THEO DÕI TRÊN

ĐĂNG KÝ NGAY