Barındırılan dünyalarımız nasıl çalışıyor
İnternette, arkadaşlarının istediği zaman katılabileceği kendi dünyan, ve kimsenin sunucu kurması gerekmeden. Barındırılan Dünyalarımızın arkasındaki fikir bu; bu yazıda sana portaldaki "Oyna" düğmesinin arkasında gerçekte ne olduğunu göstereceğim.
Her şeyin kalbi WorldHost: sunucumuzda dünyaları yöneten küçük bir hizmet. Her dünya kendi Docker konteynerinde çalışır; tamamen yalıtılmış, kendi kayıt dosyası, kendi bellek sınırı ve kendi işlemci sınırıyla. Kimse oynamıyorsa hiçbir şey çalışmaz: dünya uyur, konteyner durdurulur ve hiç kaynak harcamaz.
Portalda biri "Oyna"ya tıkladığında olanlar şöyle: WorldHost önce katılmana izin verilip verilmediğini kontrol eder. Şifre korumalı dünyalarda şifre, dünya uyandırılmadan önce denetlenir, böylece kimse sadece katılmayı deneyerek başkasının dünyasını başlatamaz. Ancak ondan sonra konteyner başlatılır, dünya kayıt dosyasını yükler ve tam o dünya için kısa ömürlü bir katılma jetonu alırsın. Bu arada portal sana "Dünya uyandırılıyor…" durumunu gösterir.
Tüm oyuncular dünyadan ayrıldığında, dünya bir süre sonra tekrar uykuya geçer: kayıt yazılır, konteyner durur. Dünyanı yerelde oynamaya devam etmek istersen kaydı indirip daha sonra tekrar yükleyebilirsin: Barındırılan Dünyanın kaydı, yerel bir oyunun kaydıyla aynıdır.
Her şey bilerek küçük kuruldu: Kubernetes yok, bulut büyüsü yok; bir sunucu, Docker ve konteynerleri başlatıp durduran bir hizmet. Bir aile projesi için bu şaşırtıcı derecede ileri gidiyor. Tam olarak ne kadar ileri gittiği ve böyle bir sunucunun neye mal olduğu, VPS'imizle ilgili yazının konusu.
Yorumlar