Mục lục Mở đầu Một mùa hè nữa lại đến, thời điểm mà rất nhiều các bạn sinh viên lựa chọn để bắt đầu thử sức với những cơ hội đầu tiên của mình với công việc lập trình thực tế. 5 năm trước, mình cũng đã từng ở vị trí một anh sinh viên ngơ ngác lần đầu đi phỏng vấn. Và hiện tại lại đang trực tiếp ngồi ở vị trí của hội đồng phỏng vấn để trao...
Continue reading...Tháng Sáu 2024
Logging, Metrics, Monitoring, Notification, Automation – Những công cụ không thể thiếu trong các dự án lớn
Khi làm việc với một trang web nhỏ chạy trên một vài server, việc triển khai các giải pháp logging, metrics, monitoring, notification, automation đôi khi là thừa thãi, không cần thiết. Tuy nhiên, đối với những dự án lớn thì ngược lại, đây là những công cụ gần như KHÔNG THỂ THIẾU. Cùng mình tìm hiểu về chúng trong bài viết này nhé! 1. Logging 📝 Định nghĩa: Logging hay thuật ngữ anh em hay gọi là “ghi log”, là việc ghi...
Continue reading...Hiểu về Data Center: Cơ chế hoạt động, Xử lý khi có sự cố và các thách thức có thể gặp phải
🔑 Định nghĩa Hình minh họa dưới đây là một ví dụ với hệ thống sử dụng hai Trung tâm Dữ liệu, thuật ngữ tiếng Anh là Data Center (viết tắt là DC) Thông thường, người dùng sẽ được định tuyến theo vị trí địa lý (thuật ngữ tiếng Anh là GeoDNS-routed hoặc Geo-routed) đến Data Center gần với họ nhất. Lưu lượng truy cập phân chia theo tỉ lệ: GeoDNS là một dịch vụ DNS cho phép phân giải...
Continue reading...Stateless Architecture
Trong kiến trúc Stateless, các HTTP request từ client có thể được gửi đến bất kỳ Web Server nào trong cụm gồm nhiều Web Server, để lấy state data từ một Shared Storage. State data được lưu trữ trong Shared Storage, độc lập hoàn toàn với các Web Server. Đây chính là ví dụ về một hệ thống stateless đơn giản, và có thể dễ dàng mở rộng tầng Web Server theo chiều ngang (scale horizontally). Bởi vì state data (ví dụ như session...
Continue reading...Stateful Architecture
Có thể các bạn đã từng nghe tới 2 khái niệm “Stateful” và “Stateless”. Stateful server và Stateless server có điểm khác biệt chính là: – Stateful server ghi nhớ dữ liệu (trạng thái) mà request từ client truyền đến, để sử dụng trong quá trình xử lý từ request này tới request tiếp theo. – Trong khi đó, Stateless server sẽ KHÔNG ghi nhớ dữ liệu (trạng thái) nào cả. Trong bài viết này, mình sẽ chia sẻ với các bạn về Stateful. Còn Stateless mình...
Continue reading...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...