Konten di situs ini telah diterjemahkan menggunakan kecerdasan buatan (AI) atau teknologi penerjemahan mesin, dan mungkin terdapat kesalahan.

Skip to content

Infrastruktur yang Mendukung Pengalaman Luar Biasa

Mencapai Puncak Baru Setiap Akhir Pekan di Roblox

SEO image for The Infrastructure Supporting Record-Breaking Experiences

Kemampuan Roblox untuk berkembang dan mendukung puluhan juta pengguna yang bermain bersama dalam jutaan pengalaman unik bukanlah hasil dari satu inovasi saja. Ini adalah hasil dari budaya inovasi yang lebih luas dan ribuan hal kecil yang dilakukan dengan baik di seluruh perusahaan. Inilah cara kami membangun infrastruktur yang saat ini mendukung lalu lintas yang memecahkan rekor ke banyak pengalaman di Roblox. Salah satu pengalaman tersebut, Grow a Garden, baru-baru ini memecahkan rekor Guinness World Records® untuk video game dengan jumlah pemain terbanyak secara bersamaan, dengan 21,6 juta pengguna bermain secara bersamaan. Dan dalam prosesnya, platform Roblox terus mencetak rekor puncak jumlah pemain bersamaan yang baru (seperti yang telah dilakukannya selama hampir dua dekade), yang terbaru melampaui 30 juta pemain bersamaan.

Roblox menghadapi tantangan unik dalam membangun dan memelihara infrastruktur untuk jutaan pengalaman yang dibuat oleh kreator, termasuk Dress to Impress, Adopt Me, dan Dead Rails, yang membutuhkan metodologi teknik inovatif. Platform ini mendukung puluhan pembaruan per jam dan lebih dari 30 juta pengguna secara bersamaan dengan infrastruktur yang dapat disesuaikan selama lonjakan lalu lintas yang tidak terduga. Infrastruktur ini harus mendukung situasi "thundering herd" di mana lebih dari 21 juta pengguna bergabung dalam satu pengalaman secara bersamaan (dan kode pembaruan berasal dari kreator independen). Insinyur Roblox menciptakan solusi inovatif dengan menantang kebijaksanaan tradisional—solusi yang terinspirasi oleh empat nilai inti kami.

Infrastruktur di Roblox
Insinyur Roblox mengelola 24 pusat data tepi di seluruh dunia, yang menjalankan server game. Saat pengguna bergabung dengan suatu pengalaman, mereka akan disesuaikan dengan pusat data terdekat dan instance yang paling sesuai di dalam pusat data tersebut untuk meminimalkan latensi. Kami juga mengelola dua pusat data inti, yang jauh lebih besar dan menjalankan layanan terpusat seperti situs web, algoritma rekomendasi, filter keamanan, ekonomi virtual, dan platform penerbitan, yang diperlukan agar pusat data tepi dapat berfungsi. Jaringan pribadi global menghubungkan semua pusat data tepi ke pusat data inti, dengan pusat data tepi berfungsi sebagai firewall untuk melindungi layanan yang berjalan di pusat data inti.
Berpikir Jangka Panjang: Prediksi Kapasitas yang Proaktif

Dalam dunia yang ideal, para kreator kami seharusnya tidak perlu memikirkan soal kapasitas—infrastruktur seharusnya tidak terlihat oleh mereka, bekerja di balik layar. Ketika seorang kreator menerbitkan sebuah pengalaman ke Roblox, tugas kami adalah menyediakan kapasitas yang dibutuhkan, berapa pun jumlah pemain yang hadir. Pada masa-masa awal, kami merencanakan kapasitas sekali setahun untuk satu atau dua tahun ke depan. Namun dalam beberapa tahun terakhir, pengalaman sukses seperti Dress to Impress, Fisch, Dead Rails, dan Grow a Garden telah membuat kami memikirkan kembali kerangka kerja kami untuk perencanaan kapasitas.

Sejalan dengan nilai kami untuk mengambil pandangan jangka panjang, kami kini memprediksi kebutuhan kapasitas hingga dua tahun ke depan, menyeimbangkan permintaan pengguna dengan pemanfaatan server yang efisien. Siklus perencanaan kami mencakup akuisisi pusat data, pembaruan perangkat keras server, dan jaringan fisik, dengan pusat data baru seperti yang di Brasil direncanakan bertahun-tahun sebelumnya. Tim jaringan juga memelihara kapasitas “dark” untuk memastikan operasi berkelanjutan meskipun terjadi masalah seperti putusnya kabel jaringan.

Kapasitas yang dimiliki Roblox saat ini didasarkan pada prediksi yang dibuat dua tahun lalu, ketika kami tidak dapat memprediksi pengalaman yang berkembang dari tidak dikenal menjadi sangat populer dalam hitungan minggu. Game populer seperti Dress to Impress dan Grow a Garden, yang membantu menggandakan jumlah pemain bersamaan puncak Roblox dari 13,9 juta pada bulan April menjadi 30,6 juta pada bulan Juni 2025, belum ada saat prediksi kapasitas ini dibuat. Misalnya, pada bulan Maret 2025, Dead Rails melonjak hingga 1 juta pengguna bersamaan, menggunakan semua kapasitas CPU yang tersedia. 

Belajar dari lonjakan popularitas semacam ini, kami beralih ke siklus perencanaan yang lebih agile. Untuk secara konsisten mendukung jumlah pemain rekor di Roblox, tim teknik menerapkan siklus mingguan yang ketat untuk perencanaan, pengujian, dan penyesuaian kapasitas. Senin didedikasikan untuk tinjauan insiden, diikuti oleh perencanaan kapasitas pada Selasa. Sepanjang minggu, dilakukan pengujian beban secara terus-menerus. Kamis difokuskan pada tinjauan kapasitas untuk pembaruan besar yang telah diberitahukan oleh para kreator. Pada hari Jumat, sumber daya cloud tambahan disediakan untuk memastikan bahwa platform siap menghadapi penggunaan puncak di akhir pekan. Sepanjang minggu, kami terus merilis fitur-fitur yang sepenuhnya baru, dan kami tidak membatasi penerapan berkelanjutan oleh semua insinyur. 

Hormati Komunitas: Kemampuan yang Mudah bagi Para Kreator

Throttling adalah konsep yang sangat diterima dalam ilmu komputer. Namun, ini adalah alat yang paling sering disalahgunakan dan disalahpahami dalam ilmu komputer. Ketika insinyur baru bergabung dengan Roblox, solusi pertama mereka sering kali mencakup, “Jika saja kita bisa meminta para kreator untuk menyesuaikan konfigurasi ini atau memperlambat peristiwa mereka…”. Insinyur Roblox yang berpengalaman kemudian dengan lembut menjelaskan nilai kami dalam menghormati komunitas dan bahwa kami tidak memerintahkan para kreator apa yang harus dilakukan. 

Misalnya, sistem game umumnya memiliki solusi sederhana untuk pencocokan pemain saat jutaan pemain mengklik “main” secara bersamaan. Mereka membatasi jumlah pemain yang bergabung, membuat pemain menunggu, atau mengirim mereka ke server acak dengan melewati algoritma pencocokan. Di Roblox, kami melakukan sebaliknya. Kami merancang ulang sistem pencocokan pemain kami untuk menangani lonjakan besar pemain. Pada puncaknya, sistem ini mengevaluasi hingga 4 miliar kombinasi bergabung per detik. Bertahun-tahun lalu, kami menetapkan target 10 juta koneksi dalam 10 detik, dan kami terus berupaya mencapai tujuan tersebut.

Untuk menghindari pembatasan akibat keterbatasan kapasitas, kami bereksperimen dengan cloud bursting sebagai bagian dari transisi kami ke infrastruktur seluler, yang memungkinkan skalabilitas dinamis dan efisien secara komputasi. Arsitektur ini menangani permintaan puncak dengan mencocokkan pengguna ke sel pusat data tepi baik di lokasi fisik maupun di cloud. Kami sedang berupaya mewujudkan pengaktifan dan penonaktifan yang sepenuhnya otomatis untuk pusat data tepi berbasis cloud yang sepenuhnya diabstrakkan untuk algoritma pencocokan.

Contoh lainnya adalah sistem filter teks kami, yang pada puncaknya menangani 250.000 permintaan per detik. Itu adalah inferensi model besar yang memproses 250.000 token dengan jendela konteks yang terus meluas. Dan dengan lebih dari 300 pipeline inferensi AI yang berjalan di produksi, pemilik layanan Roblox menghabiskan banyak waktu untuk menemukan kombinasi ideal profil inferensi antara GPU dan CPU. Bahkan di bawah beban puncak, para insinyur Roblox menghormati komunitas dengan memprioritaskan kebebasan kreator dan keamanan pengguna.

Selesaikan Tugas: Pengujian Beban Sistem untuk Ketahanan

Dengan perencanaan kami, kami membangun kapasitas dan algoritma untuk mendukung pembaruan paling menarik dari para kreator. Namun, kami harus memastikan bahwa sistem ini dapat bertahan bahkan di bawah puncak lalu lintas tertinggi atau gangguan layanan tunggal. Informasi yang dikumpulkan dari penggunaan puncak pada lebih dari 1.600 layanan mikro membantu mengidentifikasi layanan yang perlu diuji beban lebih lanjut.

Sesuai dengan nilai kami untuk menyelesaikan pekerjaan, setiap hari kami memilih beberapa layanan ini dan membatasi kapasitasnya dalam produksi. Kami mengamati atributnya, lalu memperbaikinya sebelum akhir pekan. Kami menyebutnya “test actual capacity on” (TACO) Tuesdays. Tim keandalan kami juga menjalankan Continuous Capacity Correctness (C3). Setiap tim teknik menggunakan dasbor C3 untuk memprediksi dan mengelola kapasitas CPU layanan mereka. Hal ini memungkinkan pemilik layanan untuk terus belajar dari puncak lalu lintas sebelumnya guna menyesuaikan kapasitas untuk puncak berikutnya. Kami juga meluncurkan sistem yang melacak pola panggilan di mesin inti Roblox untuk rilis baru. Ini membantu memastikan kami lebih siap selama pembaruan. 

Meskipun dengan semua persiapan ini, kami masih sesekali menghadapi skenario di mana sifat tak terduga dari pola lalu lintas dapat menyebabkan satu layanan atau alur produk menyebabkan platform down. Misalnya, pipa analitik 2 triliun peristiwa dapat mengalami peningkatan lalu lintas sebesar 30% akibat pembaruan yang populer. Di sinilah mekanisme ketahanan kami, seperti kontrol koncurrency adaptif (ACC), circuit breaker, dan pengurangan retry, berperan untuk melindungi platform. Tahun ini, kami juga membangun platform pengujian kekacauan untuk memperkuat ketahanan dan skalabilitas infrastruktur kami dengan menyuntikkan kesalahan secara acak, menghabiskan sumber daya, dan menghentikan proses secara acak dalam produksi.

Bertanggung Jawab: Melibatkan Semua Pihak

Kami menghabiskan sepanjang minggu untuk menguji dan mempersiapkan pembaruan besar akhir pekan ini. Namun, ketika akhir pekan tiba, kami masih memiliki pekerjaan yang harus diselesaikan. Menjelang pembaruan akhir pekan, para insinyur Roblox bekerja sama untuk memantau perubahan yang akan datang dan memperkirakan kapasitas yang tersisa, serta menyediakan sumber daya cloud tambahan sesuai kebutuhan untuk mengakomodasi jutaan pemain tambahan melalui pusat data tepi virtual. 

Pada hari Jumat, kami memutuskan apakah kami perlu menambah kapasitas tambahan dengan sumber daya cloud. Proses ini memberikan arahan yang jelas kepada tim cloud hybrid kami untuk menyediakan kapasitas tambahan yang cukup guna mengakomodasi jutaan pemain tambahan. Pada titik mana pun, 24 pusat data tepi fisik kami beroperasi, tetapi setelah semua pengujian, kami mungkin memutuskan bahwa kami membutuhkan pusat data tepi tambahan. Tidak mungkin untuk merakit dan menumpuk server dalam 12 jam, jadi kami bekerja sama dengan mitra cloud kami untuk membangun beberapa pusat data tepi virtual. Kami mengujinya pada hari Jumat, dan kemudian kami siap untuk akhir pekan. 

Dalam semangat tanggung jawab yang sejati, semua orang, termasuk para eksekutif tingkat atas kami, bergiliran bertugas piket—bahkan pada akhir pekan. Lonjakan jutaan pengguna pada hari Sabtu sering kali memicu ratusan peringatan. Tim-tim kami menyelesaikan peringatan-peringatan ini secara proaktif, sehingga kami dapat menangani tantangan selama pembaruan besar atau saat platform mencapai rekor tertinggi sepanjang masa. 

Seperti yang sering dikaitkan dengan Leonardo da Vinci, “Belajar tidak pernah melelahkan pikiran.” Setiap puncak telah menginspirasi kami untuk belajar dan menciptakan teknik baru guna membuat infrastruktur kami lebih andal dan tak terlihat. Para kreator kami mempublikasikan atau memperbarui konten, dan melalui keajaiban infrastruktur yang tak terlihat, puluhan juta pengguna mulai menikmati pengalaman baru yang sepenuhnya berbeda hampir seketika. Kami selamanya berterima kasih kepada para kreator dan pengguna kami yang menantang kami untuk mendorong batas-batas ilmu komputer.