Trong bài viết này, Sydexa sẽ hướng dẫn bạn cách mở rộng ứng dụng để đáp ứng khả năng chịu tải cho 10 triệu người dùng trên nền tảng Cloud AWS. Nếu bạn có bạn bè đang tìm hiểu về thiết kế hệ thống chịu tải cao, hãy chia sẻ bài viết này để cùng học hỏi nhé! 😍
Chúng tôi đã tạo Cộng Đồng System Design Việt Nam nhằm giúp các bạn kết nối và chia sẻ kiến thức về thiết kế hệ thống. Hãy tham gia nhóm để cùng phát triển nhé! 😄
Tham gia Cộng Đồng: System Design Việt Nam
Theo dõi Kênh TikTok của chúng tôi: Sydexa TikTok
Giới thiệu về Hành Trình Khởi Nghiệp của Sydexa
Ngày xửa ngày xưa, có hai kỹ sư phần mềm tên là Nam và Đức. Họ làm việc cho một công ty công nghệ và cảm thấy chưa thỏa mãn với sự nghiệp của mình. Khi nhận ra tiềm năng của việc khởi nghiệp, họ đã thành lập Sydexa và quyết định triển khai ứng dụng của mình trên AWS (Amazon Web Services).
Hãy cùng theo dõi hành trình mở rộng ứng dụng của họ từ 0 đến 10 triệu người dùng nhé!
1. Giai đoạn Khởi Đầu
Trước khi sản phẩm chính thức ra mắt, họ phát triển một phiên bản MVP (Minimum Viable Product) với những chức năng tối thiểu cần có. Để giảm thiểu chi phí, họ tạo ra một trang web tĩnh sử dụng AWS Amplify Hosting và sử dụng AWS Lambda cho backend, cho phép chạy mã mà không cần quản lý máy chủ.
2. Ra Mắt Sản Phẩm
Khi ra mắt thị trường, họ chỉ có một lượng người dùng nhỏ, nên chỉ cần một EC2 instance để vận hành hệ thống. Tuy nhiên, khi lưu lượng người dùng tăng lên, họ phải nâng cấp lên một máy chủ khác với Vertical Scaling để cải thiện khả năng chịu tải.
3. Tối Ưu Hóa Hệ Thống cho 100 Người Dùng
Khi hệ thống gặp vấn đề về bộ nhớ, họ quyết định tách Backend và Database vào các EC2 instance riêng biệt với một database lớn hơn để hỗ trợ cho 10 triệu người dùng trong tương lai.
4. Mở Rộng cho Nhiều Người Dùng
Khi số lượng người dùng gia tăng, họ phải chấp nhận thực tế là điện có thể bị cắt và các server có thể gặp rủi ro. Họ đã thiết lập một cơ chế có tính khả dụng để đảm bảo hệ thống luôn hoạt động.
5. Xử Lý Lượng Request Tăng Cao
Để đối phó với lượng người dùng tăng đột biến vào những dịp lễ, họ đã thực hiện autoscaling với sự trợ giúp của CloudWatch, cho phép tự động tăng giảm số lượng server dựa trên hiệu suất của hệ thống.
6. Nâng Cao Tính Sẵn Có
Tiếp tục nâng cấp hệ thống, họ đã nhận được đầu tư từ tập đoàn Viettel và sử dụng cơ sở dữ liệu DynamoDB cho tính sẵn có đạt 99,99%. Họ cũng chuyển sang kiến trúc microservices để tối ưu hóa các tính năng, đồng thời áp dụng Load Balancers cho từng tầng trong hệ thống.
7. Xây Dựng Hệ Thống cho 10 Triệu Người Dùng
Cuối cùng, sau khi áp dụng Federation và Sharding cho cơ sở dữ liệu, họ đã mở rộng hệ thống qua nhiều khu vực AWS để gia tăng tính khả dụng, từ đó phục vụ hàng triệu người dùng trên toàn cầu với hệ thống ổn định và mạnh mẽ.
Lời Kết
Hành trình của Sydexa là một minh chứng cho sự phát triển của công nghệ và khả năng thích ứng trong môi trường khởi nghiệp. Đừng quên tham gia cộng đồng để cùng khám phá thêm những kiến thức mới trong thiết kế hệ thống nhé! Hẹn gặp lại trong các bài viết tiếp theo của chúng tôi.
Hân hạnh chào đón bạn tại Sydexa.com!
source: viblo