Rekor Kıran Deneyimlere Destek Altyapı
Roblox'ta Her Hafta Sonu Yeni Zirvelere Ulaşmak
Roblox'un, milyonlarca benzersiz deneyimde on milyonlarca kullanıcının birlikte oynamasını ölçekleyerek destekleyebilme yeteneği, tek bir yeniliğin sonucu değildir. Daha geniş bir inovasyon kültürünün ve şirket genelinde iyi yapılan binlerce küçük şeyin toplamıdır. Roblox'taki birçok deneyime yönelik rekor kıran trafiği destekleyecek altyapıyı bu şekilde inşa ettik. Bu deneyimlerden biri olan Grow a Garden, kısa süre önce 21,6 milyon kullanıcının aynı anda oynamasıyla Guinness Dünya Rekorları'nın eş zamanlı olarak en çok oynanan video oyunu kategorisinde rekor kırdı. Bu süreçte Roblox platformu, en son 30 milyonu aşan eş zamanlı oyuncuyla (neredeyse yirmi yılı aşkın süredir olduğu gibi) yeni eş zamanlılık rekorları kırmaya devam etti.
Roblox; Adopt Me ve Dead Rails gibi yenilikçi mühendislik metodolojileri gerektiren, yaratıcılar tarafından oluşturulan milyonlarca deneyim için altyapı oluşturma ve sürdürme konusunda benzersiz zorluklarla karşı karşıya. Platform, beklenmedik trafik artışları sırasında ölçeklenebilen altyapısıyla saatte onlarca güncellemeyi ve 30 milyondan fazla eş zamanlı kullanıcıyı destekleyebilmektedir. Bu altyapı, 21 milyondan fazla kullanıcının aynı anda tek bir deneyime katıldığı (ve güncelleme kodunun bağımsız yaratıcılardan geldiği) yoğun kalabalık durumlarını desteklemelidir. Roblox mühendisleri, geleneksel yaklaşımları sorgulayarak ve dört temel değerimizden ilham alarak çözümler geliştirir.
Roblox'ta Altyapı
Roblox mühendisleri, oyun sunucularını çalıştıran dünya çapında 24 uç veri merkezini yönetiyor. Bir kullanıcı bir deneyime katıldığında gecikmeyi en aza indirmek için en yakın veri merkezi ve merkez içindeki en uygun örnekle eşleştirilir. Ayrıca uç veri merkezlerinin çalışması için gerekli olan web sitesi, öneri algoritmaları, güvenlik filtreleri, sanal ekonomi ve yayıncılık platformu gibi çok daha büyük merkezî hizmetleri çalıştıran iki çekirdek veri merkezini yönetiyoruz. Tüm uç veri merkezleri küresel bir özel ağla çekirdek veri merkezlerine bağlanır ve uç veri merkezleri, çekirdek veri merkezinde çalışan hizmetleri korumak için bir güvenlik duvarı işlevi görür.
Uzun Vadeli Düşün: Proaktif Kapasite Tahmini
İdeal bir dünyada yaratıcılarımızın kapasite hakkında hiçbir zaman düşünmek zorunda kalmaması gerekir; altyapı onlar için görünmez olmalı ve perde arkasında çalışmalıdır. Yaratıcı Roblox'ta deneyim yayınladığında bizim görevimiz, kaç oyuncu katılırsa katılsın gerekli kapasiteyi sağlamak ve desteklemektir. İlk zamanlarda kapasite planlamasını yılda bir kez, bir ya da iki yıl sonrasını öngörerek yapıyorduk. Ancak son yıllarda Dress to Impress, Fisch, Dead Rails ve Grow a Garden gibi başarılı deneyimler, kapasite planlama çerçevemizi yeniden düşünmemizi sağladı.
Bir değer olarak benimsediğimiz uzun vadeli düşünme doğrultusunda artık kapasite ihtiyaçlarını iki yıla kadar önceden tahmin ediyor, kullanıcı talebini verimli sunucu kullanımıyla dengeleyebiliyoruz. Planlama döngümüz; veri merkezi edinimi, sunucu donanım yenilemeleri ve fiziksel ağ oluşturmayı içermektedir. Brezilya'daki gibi yeni veri merkezleri ise yıllar öncesinden planlanmaktadır. Ağ ekibi ayrıca ağ kablosunda kesinti gibi sorunlar olduğunda da işlevsellikte sürekliliği korumak için "karanlık" kapasiteyi korur.
Roblox’un bugün sahip olduğu kapasite, iki yıl önce yapılan öngörülere dayanmaktadır; o dönemde, henüz kimsenin bilmediği bazı deneyimlerin haftalar içinde büyük bir popülerlik kazanacağını öngörmek mümkün değildi. Eş zamanlı oyuncu sayısını Nisan ayında 13,9 milyondan Haziran 2025'te 30,6 milyona çıkararak iki katından fazla artıran Grow a Garden ve Dress to Impress gibi popüler oyunlar, bu kapasite tahminleri yapıldığında henüz yoktu. Örneğin Mart 2025'te Dead Rails, mevcut tüm CPU kapasitesini kullanarak 1 milyon eş zamanlı kullanıcıya ulaştı
Bu tür popülerlik artışlarından ders çıkararak daha çevik bir planlama döngüsüne geçtik. Mühendislik ekibi, Roblox'taki rekor oyuncu sayısını tutarlı bir şekilde desteklemek için titiz bir haftalık planlama, test ve kapasite ayarlamaları döngüsü kullanıyor. Pazartesi günleri olay incelemelerine ayrılıyor, salı ise kapasite planlama günü. Hafta boyunca sürekli kaos testi yapılıyor. Perşembe günleri, yaratıcılarımızın bize bildirdiği büyük güncellemeler için kapasiteyi gözden geçirmeye odaklanıyoruz. Cuma, platformun hafta sonu yoğun kullanıma hazır olmasını sağlamak için ek bulut kaynakları sağlanır. Hafta boyunca tamamen yeni özellikler yayınlamaya devam ediyoruz ve tüm mühendisler tarafından sürekli olarak yapılan dağıtımları kilitlemiyoruz
Topluluğa saygı göster: Yaratıcılar için zahmetsiz kapasite
Kısıtlama, bilgisayar biliminde çok kabul gören bir kavramdır. Ancak bu, bilgisayar biliminde en çok yanlış kullanılan ve yanlış anlaşılan kavramlardandır. Roblox'ta çalışmaya başlayan yeni mühendislerin düşündüğü ilk çözüm de genellikle şudur: "Yaratıcılarımıza bu yapılandırmayı değiştirmelerini veya etkinliklerini yavaşlatmalarını söyleyebilirsek..." Bunun üzerine deneyimli Roblox mühendisleri topluluğa saygı duymanın değerini ve yaratıcılarımıza ne yapmaları gerektiğini söylemediğimizi nazikçe açıklar.
Örneğin milyonlarca oyuncu aynı anda oynamaya tıkladığında çoğu oyun sisteminin eşleştirme için basit bir çözümü vardır. Eşleştirme algoritmasını atlayarak katılım noktalarını kısıtlar, oyuncuları bekletir veya rastgele sunuculara gönderirler. Roblox'ta ise tam tersini yapıyoruz. Oyuncu akınlarını karşılayabilmek için eşleştirme sistemlerimizin tamamını yeniden tasarladık. Bu sistem, en yoğun çalıştığı zamanlarda saniyede 4 milyara kadar olası katılım kombinasyonunu değerlendiriyor. Yıllar önce 10 saniyede 10 milyon katılım hedefini belirledik ve bu hedefe doğru ilerlemeye devam ediyoruz.
Kapasite nedeniyle kısıtlamayı önlemek için hücresel altyapıya geçişimizin bir parçası olarak dinamik ve hesaplama açısından verimli ölçeklendirmeye olanak tanıyan bulut patlamasını deniyoruz. Bu mimari, kullanıcıları hem şirket sunucularındaki hem de buluttaki uç veri merkezi hücreleriyle eşleştirerek en yüksek talebi karşılar. Eşleştirme algoritması için tamamen soyutlanmış olan bulut tabanlı uç veri merkezlerinin tam otomatik olarak açılmasını ve kapatılmasını sağlamak üzere çalışıyoruz.
Bir başka örnek de saniyede 250.000 talebi işleyen metin filtreleme sistemimiz. Bu, sürekli genişleyen bağlam pencereleriyle 250.000 jeton çalıştıran büyük bir model çıkarımıdır. Üretimde çalışan 300'den fazla yapay zekâ çıkarım hattı ile Roblox hizmet sahipleri, GPU'lar ve CPU'lar arasında ideal çıkarım profilleri karışımını bulmak için çok zaman harcıyor. Roblox mühendisleri, sistemin en yoğun biçimde yüklendiği zamanlarda bile yaratıcı özgürlüğüne ve kullanıcı güvenliğine öncelik vererek topluluğa saygı gösteriyor.
İşleri Hallet: Sistemde Stres Dayanıklılığını Artırma
Planlamamızla, yaratıcıların en heyecan verici güncellemelerini destekleyecek kapasiteyi ve algoritmaları oluşturuyoruz. Ancak bu sistemlerin en büyük yoğunluğa veya tek bir hizmet kesintisine bile dayanabileceğinden emin olmamız gerekiyor. 1.600'den fazla mikro hizmetin en yoğun biçimde kullanılmasıyla elde edilen bilgiler, daha fazla stres testi yapılacak hizmetlerin belirlenmesine yardımcı oluyor.
İşleri halletme değerimize sadık kalarak her gün bu hizmetlerden birkaçını alıyor ve üretim kapasitelerini kısıtlıyoruz. Özellikleri gözlemliyor, ardından hafta sonundan önce düzeltiyoruz. Biz buna salı gününün "gerçek kapasite testi" (TACO) diyoruz. Güvenilirlik ekibimiz ayrıca sürekli kapasite doğruluğu (C3) çalışması yürütüyor. Her mühendislik ekibi, hizmetlerinin CPU kapasitesini tahmin etmek ve yönetmek için bir C3 gösterge paneli kullanır. Bu, hizmet sahiplerinin bir sonraki zirve için kapasiteyi artırmak veya azaltmak üzere son zirveden sürekli olarak yeni şeyler öğrenmesini sağlar. Ayrıca yeni sürümler için çekirdek Roblox motorundaki çağrı modellerini izleyen bir sistem başlattık. Bu sayede güncellemeler sırasında daha iyi hazırlanabiliyoruz.
Tüm bu hazırlıklara rağmen, trafik modellerinin öngörülemeyen doğası nedeniyle tek bir hizmet veya ürün akışının platformun çökmesine neden olabileceği senaryolarla zaman zaman karşılaşıyoruz. Örneğin 2 trilyon etkinlik analizi hattı, popüler bir güncelleme nedeniyle %30 daha fazla trafik görebilir. Burası, uyarlanabilir eşzamanlılık kontrolü (EZK), devre kesici ve döküm tekrarları gibi dayanıklılık mekanizmalarımızın platformu korumak için devreye girdiği yerdir. Bu yıl ayrıca rastgele arızalar enjekte ederek, kaynakları tüketerek ve üretimdeki süreçleri rastgele sonlandırarak altyapımızın dayanıklılığını ve ölçeklenebilirliğini güçlendirmek için bir kaos testi platformu oluşturduk.
Sorumluluk Al: Herkes İş Başına
Tüm haftayı, hafta sonu yapılacak bu büyük güncellemeleri test ederek ve bunlara hazırlanarak geçiriyoruz. Ama hafta sonu geldiğinde hâlâ yapacak işlerimiz oluyor. Roblox mühendisleri, hafta sonu güncellemelerinden önce yaklaşan değişiklikleri izlemek ve kalan kapasiteyi tahmin etmek için işbirliği yapıyor ve sanal uç veri merkezleri aracılığıyla milyonlarca ekstra oyuncuyu barındırmak için gerektiğinde ek bulut kaynakları sağlıyor
Cuma günü, bulut kaynaklarıyla ekstra kapasite eklememiz gerekip gerekmediğine karar veriyoruz. Bu süreç, hibrit bulut ekibimize milyonlarca ek oyuncuyu barındıracak yeterli ek kapasiteyi sağlaması için net bir yön kazandırıyor. Her an çalışır durumda olan 24 fiziksel uç veri merkezimiz varsa da tüm testlerden sonra ek uç veri merkezlerine ihtiyacımız olduğuna karar verebiliriz. Sunucuları 12 saat içinde kurup kullanıma sokmak mümkün olamayacağına göre birden fazla sanal uç veri merkezi oluşturmak için bulut ortaklarımızla birlikte çalışıyoruz. Bunları cuma günü test ediyor ve hafta sonuna hazır oluyoruz.
Gerçek bir sorumluluk ruhuyla en üst düzey yöneticilerimiz de dâhil olmak üzere herkes hafta sonları bile nöbetçi olur. Cumartesi günleri kullanıcı sayısının milyonlara çıkması genellikle yüzlerce uyarıyı tetikleyebilir. Ekipler bu uyarıları önceden çözerek büyük bir güncelleme olduğunda veya platform genelinde tüm zamanların en yüksek yoğunluğu yaşandığında zorluklarla başa çıkmamızı sağlar
Leonardo da Vinci'nin sık sık söylediği gibi \"öğrenmek zihni asla yormaz.\" Yoğunluk ne zaman doruk değerleri bulsa altyapımızı daha güvenilir ve görünmez hâle getirmemizi sağlayacak yeni teknikler öğrenmek ve icat etmek için ilham buluruz. Yaratıcılarımız yayın veya güncelleme yapar ve görünmez altyapının büyüsü sayesinde on milyonlarca kullanıcı neredeyse anında tamamen yeni bir deneyimin tadını çıkarmaya başlar. Bizi bilgisayar biliminin sınırlarını zorlamaya davet ettikleri için yaratıcılarımıza ve kullanıcılarımıza sonsuz bir minnet duyuyoruz.