Server game online hot nhất thế giới làm cách nào phục vụ được cả trăm triệu người chơi?

“Fortnite đã phát triển hơn 100 lần chỉ trong 9 tháng vừa qua”, Chris Dyl, giám đốc nền tảng của Fortnite, hiện làm việc tại Epic Games chia sẻ vào cuối tháng 07 vừa rồi. Điều này có nghĩa là server của game chịu tải rất lớn, đồng nghĩa với khối lượng công việc của các nhân sự quản lý máy chủ của game.

Chỉ cần một hai lần sập server, dù lý do gì đi chăng nữa, bị tấn công có chủ đích hoặc nhiều người chơi quá nên sập, anh em hâm mộ chắc chắn sẽ nản, hoặc bỏ game, hoặc không nạp tiền cho một game server không ổn định.

Vậy hệ thống máy chủ của Fortnite đã làm cách nào để tải được cả triệu người chơi cùng lúc?

[​IMG]

Ngày 03/02 vừa rồi là một ngày trọng đại, không chỉ chứng minh thành công rực rỡ của Fortnite, mà còn là ngày server của game vận hành nặng đô nhất. Ước tính 3,2 triệu người đã đăng nhập vào game cùng một lúc.

[​IMG]

“Nếu bạn có một cú hit trên mạng xã hội khiến nhiều người biết đến, một đồn trăm, trăm đồn triệu, số người vào chơi game của bạn sẽ tăng chóng mặt”, Ian Massingham, người hỗ trợ công nghệ cho Amazon Web Services (AWS) chia sẻ. Kể từ khi ra mắt, Fortnite sử dụng dịch vụ máy chủ của chính Amazon để vận hành game. Bên cạnh Fortnite, AWS còn đang là nền tảng cho nhiều dịch vụ khác, từ Netflix, Reddit cho đến cả Airbnb.

Để hình dung sức chịu tải của server một game có lượng người chơi lớn như Fortnite, thì mỗi tháng server Epic Games thuê phải xử lý 2 petabytes dữ liệu. Con số này tương đương 223 nghìn chiếc đĩa DVD dung lượng 4,7GB. Massingham cho biết Fortnite sử dụng những cụm server với tính năng “đàn hồi” cao để đáp ứng được nhu cầu quá lớn của cộng đồng gamer. Khi số lượng người dùng trong một server tăng đột biến, dân IT hay gọi bằng khái niệm user spike. “Có những cụm server khi xảy ra user spike, lượng traffic tăng lên gấp 10 lần so với lúc ít CCU nhất”, Chris Dyl cho hay.

Đang tải Tinhte_Fortnite.gif… ​

Có nhiều cách để đối phó với user spike. Hình trên là một trong các cơ chế tự mở thêm server mới của AWS, gọi là Auto Scaling, rất hay được các công ty lớn cỡ như Fornite sử dụng. Cách hoạt động của nó rất đơn giản: khi các server gặp user spike thì sẽ bị quá tải (tức CPU, RAM chạy vượt ngưỡng % nào đó). 

Lúc này các server mới sẽ được AWS tự động sinh ra, và bởi vì có thêm nhiều server để chia tải, mức tiêu thụ tài nguyên của mỗi server sẽ giảm xuống giúp chúng chạy ổn định hơn. Khi đợt user spike qua đi, Auto Scaling sẽ tự giảm số lượng server xuống để tiết kiệm chi phí cho Fornite.

Đang tải Tinhte_Fortnite3.jpg…

Khắp thế giới, dịch vụ AWS có nhiều vùng đặt máy chủ vì lý do địa lý, chứ không chỉ là cụm server được thiết kế để cho phép user truy cập một cách nhanh nhất, ít xảy ra lag nhất. Nếu một cụm gặp sự số, vùng khác sẽ được sử dụng để “gánh” traffic. Trong số 55 vùng được Amazon đặt hệ thống trên toàn thế giới, Fortnite đặt máy chủ ở 24 phân vùng, trong đó có Bắc Mỹ, Nam Mỹ, châu Âu, Trung Á, Đông Á và cả châu Úc nữa.

Chuẩn bị cẩn thận đến đâu thì sự cố vẫn xảy ra. Chỉ nội trong một ngày 03/02 kể trên, Fortnite đã trải qua 6 lần sập server ở nhiều khu vực khác nhau. Khi ấy Epic Games phải thông báo rằng họ có trục trặc kỹ thuật ở phân vùng bị gặp sự cố máy chủ. Chưa kể, nếu chính bản thân hệ thống của Amazon Web Services gặp trục trặc, thì tất cả các dịch vụ đang thuê máy chủ của họ cũng sẽ mất kết nối.

Đang tải Tinhte_Fortnite4.jpg…

Lấy ví dụ nhanh vụ tấn công từ chối dịch vụ (DDoS) diễn ra vào năm 2016, khi một phần mềm độc hại của một nhóm sinh viên đại học viết để kiếm lời bất chính từ việc thu tiền “bảo kê server” những người chơi Minecraft. Nó khiến cả một nhà mạng viễn thông của Pháp lẫn hệ thống của Amazon gặp trục trặc. Nó có tên Mirai. Khi tải botnet này lên mạng internet, những cậu sinh viên mới chỉ ngoài đôi mươi không lường trước được sức mạnh của nó, và khiến hệ thống Internet of Things của cả thế giới suýt sụp đổ.

Ở Đức, 1 triệu router không thể kết nối internet. Steam cũng bị ảnh hưởng. Những chuyên gia an ninh mạng nhận định, sức tấn công của Mirai không thua kém gì quả bom nguyên tử được tạo ra từ Manhattan Project hồi năm 1945 cả.

Mirai là câu chuyện mình sẽ chia sẻ cho anh em vào một ngày khác. Còn bây giờ quay trở lại chuyện server game.

Trong quá khứ, nhiều server game multiplayer như FarCry 5 hay Ghost Recon Wildlands của Ubisoft đã trở thành nạn nhân của những vụ tấn công từ chối dịch vụ. Hồi tháng 04 vừa rồi, một tài khoản Twitter đã đăng tải thông tin nhận trách nhiệm cho một vụ tấn công vào server của Fortnite, nhưng thông tin này hoàn toàn không được kiểm chứng và tài khoản đó cũng đã biến mất không dấu vết.

[​IMG]

Theo Ben Albon, kỹ sư trưởng nhà phát triển game Jagex: “Những vụ DDoS của những kẻ thích phá hoại khiến cho nhiều nhà phát hành gặp rất nhiều khó khăn. Bản thân game online khi bị tấn công cũng thiệt thòi hơn các trang web và dịch vụ khác trên internet. Lấy ví dụ bạn đang đi raid, đấu trùm được vài tiếng đồng hồ và chỉ cần 30 giây phá hoại, mọi công sức cả tối của bạn sẽ đi tong. Nó khiến người chơi bực bội và bỏ game.”

Ấy là chưa kể vấn đề lag và độ trễ của từng máy tính hoặc thiết bị kết nối đến máy chủ. Game online nào cũng vậy cả thôi, cũng có những vấn đề về giật lag và độ trễ (latency) tới server cao. Bản thân xu hướng chơi game của các châu lục ngày càng giống nhau. Trớ trêu thay, tốc độ mạng internet thì không đồng đều giữa các khu vực và các quốc gia. Trải nghiệm game của một số nước sẽ tệ hơn vì chất lượng internet của họ không bằng bạn bè các nước khác. Hay một lý do đơn giản hơn, mấy anh Singapore hay Nhật Bản có riêng cả một server. Nhà ngày cạnh server thì sao mà người Việt hay Thái Lan kết nối đến server Singapore đấu lại được cơ chứ?

Đang tải Tinhte_Fortnite2.jpg…

Game online với những trận đấu cỡ 10 đến 20 người đã khó, triển khai một trận game có 100 người cùng tham gia còn khó hơn gấp bội. Cùng trong một khu vực màn chơi, rất nhiều thứ cùng lúc diễn ra và phải cập nhật tới cả trăm client cùng thời điểm. Đối với những kết nối internet có độ trễ tới server lớn, giải pháp đơn giản là cho họ ghép chung game với nhau, để những người có đường truyền tốt hơn thưởng thức game ở một match thi đấu khác. Đây là một dạng ping-based matchmaking.

Hơn 1 năm kể từ khi ra mắt, Fortnite sau những phiên bản PC, PS4, Xbox One, Switch và iOS đã chính thức cập bến Android. Nó là cơ hội tiếp cận nhiều người chơi hơn. Điều này có hai hệ quả, doanh thu sẽ nhiều hơn, và việc giữ cho server hoạt động ổn định chắc chắn sẽ khó khăn gấp bội.

Tham khảo Wired​, tinhte.vn