Agar bu işi şu şekilde ayarlamış sanırım.
birden fazla sunucu var ve bu sunucuların load durumunu belirten bir web servis yazılımı çalışıyor.
http://ip/status gibi düşün.
Client ilk defa bir request gönderdiğinde m.agar.io loadı düşük olan bir sunucunun ip adresi dönderiliyor ve client o sunucuya bağlanıyor.
Önerilerim:
Eğer transaction bir olay yoksa RDBMS kullanmak delilik olur.
Data tipine göre redis yada mongo kullanılabilinir çare nosql de aranmalı.
bknz redis için
https://github.com/twitter/twemproxy
Dil olarak yazabildiğim için değil kullanıp memnun kaldığım için nodejs yada go önereceğim.
golang öğrenme süreci zor fakat öğrenip yazdıkça farkı anlıyorsunuz.concurrency olayı çok iyi.channel ile haberleşmek çok kolay.
bknz:
http://marcio.io/2015/07/handling-1-...e-with-golang/
nodejs de uygulamayı çalıştırdığınızda single thread sıkıntısı var cluster ile çözmelisiniz.bknz: "node js cpu intensive tasks"
websocket kullanacaksınız socketcluster'a bakabilirsiniz.
Ezbere çözüm olmuyor bu tür işlerde.Sürekli tcp bağlantısı yerine websocket kullanılabilinir mesajlaşma pub/sub olabilir vs vs..
Aşağıdaki videoyu mutlaka izleyin scability üzerine çok güzel bir konuşma.
sysctl.conf ve limits.conf kernel tuning için gerekli.
Bahsettiğiniz bağlantı sayısında tüm uygulamaların ayarlarının optimize edilmesi gerekir.
https://www.youtube.com/watch?v=of2NL2csEEo https://www.google.com.tr/webhp?sour...#q=sysctl.conf