daha afyonum patlamamışken böyle bir konu ile karşılaşınca afalladım. sanırım daha önceki konuda da yazmıştım birşeyler. burdaki sorularına basit, anlaşılabilir şekilde cevap vermeye çalışayım. bilinenlerin aksinde yabancı terim kullanmadan, biraz da sana araştıracak noktalar bırakarak;
1. tek veritabanının problem yaşatacağını söylemişsin ki, kesinlikle doğru. bunun için uygulaman gereken yöntem : replication
2. konu dışında bir açıklama yapayım. aynı anda birden fazla client'a bir iş yaptırmak istiyorsan, en kolay yöntemin adı : servis (service) . "oyun sunucularının client olduğu ve ayar değişikliklerini sorgulayıp alabilecekleri (get)" ya da "değişiklik yapıldığı zaman bu değişiklikleri tüm ya da belli oyun sunucularına gönderecek (push)" bir servise ihtiyacın var. en senkronize yöntem push'tur. (bu kelimenin okunuşu abes oldu, esnerken yazdım) şayet konu sadece ayar dosyaları ise, oyun olarak bakmaman daha mantıklı. ufak bir dosya senkronizasyonu da bu durumu çözebilir.
3. 6. cevaba bakabilirsin
4. çok çok basit olarak cluster yapısındaki servisler, birbirleri ile bağlantılıdır. load balancing'de ise bağımsızdır. senin yapın için kullanacağın load-balancing.
5. bilmiyorum.
6. senin sistemin için kullanabileceğin iki yöntem olduğunu düşünüyorum. öncelikle;
- 3. soruna "Client bağlandığı zaman rastgele bir server seçecek." şeklinde başlamışsın. Rastgele seçim durumunda senin düşündüğün problem ortaya çıkabilir. "sıralı" olarak atayabilirsin. kaba anlatımla bir sunucu dolmadan diğerine göndermez.
- diğer bir yöntem ise, havuz yöntemidir. oyun isteklerini havuza atarsın, başlayabilir oyuncu sayısı havuzda biriktiğinde, o oyuncuları oyuna alırsın. genelde bu yapının kullanıldığını düşünüyorum.
en basit en anlaşılabilir şekilde cevaplamaya çalıştım.