kahve ve sigara sonrası biraz ayıldım. kaba olmasın ama çok yanlış düşünüyorsun. senin düşündüğün yapıda, "load-balancer" oyun sunucuların ile oyuncular arasında aktif olarak duruyor. oyun sunucuları ile oyuncular arasında trafik load-balancer üzerinden geçerse senin dediğin gibi olur. benim dediğim sistemde adına load-balancer demeyelim, "yönlendirici" diyelim kafan karışmasın.
şöyle olsa nasıl olur : yönlendiricinin amacı, oyuncuyu doğru sunucuya yönlendirmek olsun. oyuncu, yönlendiriciye bağlanır, yönlendirici isteği alır, database'e yazar, varsa diğer kontrollerini yapar, skor tutar vs, sonra oyuncuya hangi sunucu boşsa ona bağlanacağını döndürür ve bağlantıyı kapatır. oyuncu gelen cevaba göre, o oyun sunucusuna bağlanır. aynı anda her sunucuda 10K oyuncu varsa, 100 oyun sunucusu ama önde 1M oyuncuyu bu 100 sunucuya yönlendirecek 1 veya 2 yönlendirici.
Hocam kusura bakma, belki terimleri karıştırıyor olabilirim. Çok fazla yabancı terim var ve çok araştırılması gereken şey var.
Dediğiniz kafama yattı. Fakat 1 Yönlendirici olursa gene sıkıntı olur. Bu da "replication" yöntemi olarak bahsettiğiniz mevzudan yapılabilir. Peki, bunları yaptım diyelimü herşey güzel fakat büyük bir sorun var. O da port limiti. Şimdi 1 harita maksimum 4 kişilik olsun. Bunun adına da "realm" diyelim. Her sunucu da 3.750 farklı duello demek eğer her sunucu 15K ile sınırlandırırsak. Benim sorunum ise 15K dan daha fazla kişi nasıl alabilirim.
https://blog.whatsapp.com/196/1-million-is-so-2011
Böyle birşey de istemiyorum fakat her sunucuya 50K kişi katılsa fena olmaz hani. Windows-C# ile bu bir sorun gibi.