System Design

Lưu ý khi sử dụng CDN

Một số lưu ý quan trọng khi sử dụng CDN 🌍 Có nhất thiết phải sử dụng CDN hay không? Nếu tệp khách hàng mà bạn nhắm đến cho ứng dụng web của mình chỉ nằm trong lãnh thổ Việt Nam, thì việc sử dụng CDN là không cần thiết. Chỉ nên cân nhắc khi bạn nhắm đến tệp khách hàng đa quốc gia. Khi ấy CDN mới thực sự phát huy tác dụng về mặt địa lý của mình....

Continue reading...

Luồng hoạt động khi sử dụng CDN

🔑 Định nghĩa – CDN là viết tắt của Content Delivery Network – CDN là một mạng lưới các máy chủ phân tán được đặt tại nhiều địa điểm khác nhau trên về mặt địa lý, được sử dụng để lưu trữ các file tĩnh như hình ảnh, video, CSS, JavaScript, … – Mục đích chính của CDN là cải thiện hiệu suất truy cập các file tĩnh, bằng cách giảm thiểu khoảng cách giữa server và client. ⭐️ Các khái niệm...

Continue reading...

Một số lưu ý khi sử dụng Cache

Nhiều bạn thấy tác dụng của cache hay quá, nhanh quá, thế là nảy ra suy nghĩ: “Cứ muốn tăng hiệu năng là sẽ lưu dữ liệu vào cache” ❌ Đây là một suy nghĩ sai lầm. Dưới đây là một số lưu ý khi sử dụng Cache: 🔶 1. Sử dụng cache khi: dữ liệu của một hoặc nhiều bảng kết hợp với nhau ĐƯỢC LẤY RA THƯỜNG XUYÊN, nhưng ÍT BỊ SỬA ĐỔI. 🔶 2. Để tăng tốc độ truy xuất dữ...

Continue reading...

Giới thiệu cơ bản về Cache

🔑 Định nghĩa Cache là một bộ nhớ tạm thời tốc độ cao được sử dụng để lưu trữ dữ liệu mà hệ thống có khả năng sẽ sử dụng lại trong tương lai gần. Mục đích chính của cache là cải thiện hiệu suất hệ thống bằng cách giảm thời gian truy cập dữ liệu và giảm tải cho các nguồn dữ liệu chính (ví dụ: main memory, ổ cứng). 😍 Ví dụ Ví dụ như bạn có một...

Continue reading...

Kết hợp Load Balancer và Database Replication trong cùng một hệ thống

Như đã chia sẻ trong những bài viết trước, chúng ta đã biết Load Balancer và Database Replication sẽ giúp cải thiện tính khả dụng (High Availability) của hệ thống. Vậy nếu kết hợp chúng trong cùng một hệ thống thì sẽ như thế nào? ⚙️ Luồng hoạt động Nhìn vào hình minh họa ở trên, các bạn sẽ thấy được luồng hoạt động như sau: (1)+(2) Ban đầu người dùng muốn truy cập trang web thì sẽ vẫn thông qua DNS để phân giải tên miền...

Continue reading...

Database Replication

Trong bài viết về “LUỒNG HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB CƠ BẢN”, mình đã chia sẻ cho các bạn thấy một sơ đồ cơ bản bao gồm 1 Web Server và 1 Database để giúp các bạn dễ hiểu và tiếp cận. Tuy nhiên, trong thực tế mọi chuyện sẽ không đơn giản như vậy. Giả sử trường hợp Database duy nhất đó bị sập thì sao? Lúc ấy chúng ta sẽ không thể kết nối tới Database để thêm,...

Continue reading...

Sập Server và Load Balancer

🤯 Cụm từ “sập server” chắc anh em đã nghe tới nhiều rồi. Kể cả những anh em mới đang là học sinh, sinh viên, chưa đi làm dự án thực tế bao giờ, cũng có thể đã từng đọc được trên các blog, hoặc xem video Youtube, TikTok nói đến cụm từ này. Mới đây nhất, chắc đâu đó 1 hay 2 tháng trước, cộng đồng mạng được một phen nháo nhào vì Facebook bị sập. Zalo khi ấy kiểu: Thế...

Continue reading...

Luồng hoạt động của một ứng dụng Web cơ bản

Trước khi tìm hiểu về những hệ thống Web phức tạp, với nhiều server kết nối và làm việc với nhau, chúng ta hãy cùng nhau tìm hiểu về một hệ thống cơ bản, sử dụng 1 hoặc 2 server để xử lý. 🔑 Hiểu đơn giản về “Server” Nói server nghe hầm hố vậy thôi, chứ bản chất server cũng là máy tính, nhận các yêu cầu, xử lý dữ liệu và trả về kết quả mong muốn. Khi...

Continue reading...