Dream11
Mạch tiến hoá
Fantasy sports với hơn 100 triệu user, traffic dồn theo từng trận đấu nhanh hơn autoscaling phản ứng. Dream11 dự báo concurrency theo giờ, kiểm năng lực bằng game day, rồi scale chủ động theo bậc trước, trong và sau trận; theo bài chi phí hạ tầng giảm một nửa Dream11 2021. Trên cùng nền tảng dự đoán concurrency, OneClick (2022) tự động hoá deploy blue-green chuyển traffic dần, lấy khoá hạ tầng để không va với Scaler, và hạ stack cũ về 0 để tiết kiệm Dream11 2022. Hai bài khác lấp hai phía: năm 2019 là pipeline CDC từ Aurora sang Elasticsearch để alert theo chỉ số kinh doanh gần thời gian thực Dream11 2019; năm 2021 là tối ưu tầng GraphQL đứng trước mọi microservice, từ service đắt nhất xuống ngang các service khác Dream11 2021. Công cụ đứng sau các game day là Torque, framework test tải dạng code dựng cho IPL 2020 Dream11 2021.
Timeline
Năm = năm sự kiện theo bài (có thể sớm hơn năm đăng bài).
| Năm | Giai đoạn | Thay đổi | Nguồn |
|---|---|---|---|
| 2019 | 2. Tăng trưởng | Analytics và alert thời gian thực: CDC từ Aurora (Debezium, JDBC) → Kafka → KSQL → Elasticsearch → ElastAlert; khoảng 40.000 sự kiện/giây. | Dream11 2019 |
| 2020 | 3. Quy mô lớn | Torque: framework performance test bằng Gatling, chạy qua Jenkins, tự chia dữ liệu cho các generator; 50+ service ở 5 lần tải (bài 2021). | Dream11 2021 |
| 2021 | 3. Quy mô lớn | Scale theo dự báo (XGBoost) và bậc sự kiện thay cho autoscaling; 5,5 triệu user đồng thời. | Dream11 2021 |
| 2021 | 3. Quy mô lớn | Tối ưu tầng GraphQL (từ 2017) trước IPL 2021: GC, Fastify, cache parse/validate, bớt LB; ít hơn 80% instance, chi phí ngày giảm 60% (theo Dream11). | Dream11 2021 |
| 2022 | 3. Quy mô lớn | OneClick: blue-green chuyển dần qua Route53 weighted, làm ấm LB, khoá giữa các automation, hạ blue về 0. | Dream11 2022 |
Concept liên quan
- Chi phí hạ tầng và build vs buy
- Deploy và release an toàn
- Event-driven, message queue và Kafka
- Hot partition và thundering herd
- Kiểm thử độ tin cậy (chaos, fault injection, mô phỏng tất định)
- Load test và kiểm chứng capacity
- Monolith và microservices — đi và quay lại
- Observability và monitoring
- Stream processing
- Tự động hoá vận hành và auto-remediation