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

Đây là video đầu tiên 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. Chủ đề này sẽ đi hướng dẫn và chỉ rõ chi tiết từng vấn đề cơ bản nhất tới phức tạp nhất của việc tăng tốc độ của hệ thống, tăng trải nghiệm của người dùng về tốc độ và bảo toàn dữ liệu trong cấu trúc lưu trữ cũng như xuất bản. Video đầu tiên này chỉ tập trung giới thiệu tổng quan các hạng mục mà các bạn sẽ được tiếp cận và xử lý.

ĐẶT VẤN ĐỀ ...!

Những vấn đề ảnh hưởng tới khả năng đáp ứng và tốc độ (trải nghiệm người dùng) của webiste?

  1. Sự giới hạn vật lý của công nghệ: tốc độ HDD, SSD, RAM, VỊ TRÍ ĐỊA LÝ INTERNET, …..
  2. Khai thác phía trình duyệt không tối ưu (first view, meta data, script, css, …)
  3. Khai thác không tốt phía SERVER (cache data, cache business, …)
  4. Khai thác không tốt phần DATABASE (kiến trúc lưu trữ dữ liệu, INPUT, OUTOUT, …)

Mô hình tổng quan về luồng hoạt động của website trên internet

GIẢI THÍCH TỪNG BƯỚC

BƯỚC 1: 

Khi chúng ta gõ tên miền trang web cần truy cập lên trình duyệt và ENTER. Việc đầu tiên trình duyệt làm sẽ là điều tra xem TÊN MIỀN này có ĐỊA CHỈ trên INTERNET là gì? Và để có được câu trả lời thì trình duyệt sẽ hỏi máy chủ DNS.

Máy chủ DNS viết tắt của chữ DOMAIN NAME SYSTEM. Thường được gọi là hệ thống phân giải tên miền. Cơ chế hoạt động như một DANH BẠ để tra cứu quan hệ giữa TÊN MIỀN và IP. Khi trình duyệt đã nhận được thông tin IP thì nó mới chuyển qua bước 2.

BƯỚC 2:

Dựa trên IP đã có, trình duyệt sẽ gửi REQUEST lên MÁY CHỦ có địa chỉ IP đó. Lúc này việc của trình duyệt là chờ. Còn chúng ta sẽ đi qua bước 3.

BƯỚC 3:

Bước này diễn ra ở MÁY CHỦ chứa WEBSITE. Khi nhận được yêu cầu từ trình duyệt, WEB SERVER sẽ phân tích yêu cầu để thực thi tương ứng. Sau đó nếu có nhu cầu về DATABASE thì chuyển qua bước 4. Nếu không thì trả kết quả về cho TRÌNH DUYỆT.

BƯỚC 4:

DATABASE SERVER sẽ nhận được lệnh truy vấn dữ liệu và đọc lấy dữ liệu rồi trả lại cho WEB SERVER để chuyển qua bước 5

BƯỚC 5:

WEB SERVER nhận được kết quả dữ liệu từ DATABASE rồi tiến hành xử lý. Sau đó nếu có nhu cầu CẬP NHẬT DATABASE thì qua bước 6. Nếu không thì trả kết quả về TRÌNH DUYỆT

BƯỚC 6:

DATABASE nhận được yêu cầu cập nhật dữ liệu, tiến hành cập nhật. Báo kết quả cập nhật cho WEB SERVER. Lúc này WEB SERVER trả kết quả về cho TRÌNH DUYỆT.

...

Tại sao chúng ta liệt kê ra các bước hoạt động này? Đó là vì từng giai đoạn nhỏ đó có thể ảnh hưởng tới trải nghiệm người dùng về tốc độ. Tối ưu truy cập tốc độ cao nhất là phải tối ưu từng bước nhỏ nhất trong 6 bước đó. Tổng kết quả đạt được chính là độ trễ một lần chờ của một người dùng.

...

HẾT PHẦN 1

Ủ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