Ben oyuncu bir dönüş tabanlı (bir poker sitesi gibi, ama farklı) sanal kredi için oyun bir web sitesi inşa ediyorum. Ben ile geldi kurulum:
- Tüm player içeren bir veri sunucusu ilişkili veri (veritabanı + servis) ile hesapları. Eğer yardımcı olur Veritabanı ve API, iki sunucuları bölünebilir.
- Gerektiğinde veri sunucusuna bağlanarak, web sitesi hizmet Bir veya daha fazla sunucularında.
- Oyuncular birbirinden bulmak ve (birden mümkündür, ama daha az kullanıcı dostu) oyun kurmak olabilir bir lobi sunucu
- Oyun çalıştırmak Çoklu oyun sunucuları bir yük dengeleyici, (tüm kuralları ve bu sunucu üzerinde, müşteri sadece bir uzaktan kumanda ve izleyici vardır).
- Bir oyun istemcisi
İstemci Flash ile yapılmış olacak, web sunucusu PHP kullanacak. Kalan tüm Java.
Communications
- Oyuncu sitede günlükleri. Webserver (cookie) gibi bir oturum anahtarı oluşturur, veri sunucuya kullanıcı adı / şifre gönderir
- Oyuncu istemci başlatır. İstemci oturum anahtarını ileterek, sunucu lobi bağlanır. Sunucu kontrolleri veri sunucusu ile bu tuşa lobi
- Bir lobi oluşturulur ve bir oyun başlamalıdır kez, lobi sunucu yük dengeleyici bir oyun sunucusu getirir ve bu oyun sunucuda bir oyun kurar.
- Lobi sunucu oyun sunucusuna bağlanmak için müşteri söyler ve oyun oynanır.
- Oyun bittiğinde, oyun sunucu lobi sunucu bildirir. Lobi Sunucu puanı kontrol ve veri sunucusu kredi güncelleyecektir.
Protocols:
- Java Java: RMI
- Java PHP veya Flash: soketi üzerinden Custom ikili protokol. Bu protokol boşta zaman hayatta ve resumable sanal bağlantısını tutarken yuva kapanış destekler.
Müşteri kendi isteklerini varsa, site eşzamanlı oyuncuların binlerce desteklemek gerekir. Bu bilgi ile, benim kurulum herhangi darboğazları görebilirim? Ben şahsen sadece bir veri sunucusunun varlığı hakkında endişeli biraz, ama ben o kadar bölmek için nasıl emin değilim. Diğer ölçeklenebilirlik (veya diğer) sözleri de açığız.