( denton | 2017. 08. 12., szo – 23:15 )

Ha stabil kell, akkor C, C++. Mezei socketek, semmi extra. Persze jól kitesztelve, segfault mentesen.
JAVA-ban se nehéz megírni, de ahhoz nem árt ha van vasad :D
NodeJs jó cucc, de nem biztos, hogy használnám erre, persze ki is zártad.

Ami viszont lényeg:
Szerintem nem feltétlenül maga a program számít, nem nagy dolog egy chates socket szervert összedobni.
Egy darab program tuti nem vinne stabilan több millió online usert. A program fölé kell tervezni egy rendszert ami foglalkozik az erőforrásokkal, és szálakat hoz létre, párhuzamos futtatásra. Sőt, még a több szerveres megoldás se lenne rossz szerintem, akár virtuális gépeken is. Tehát több párhuzamosan futó szerver, azon belül pedig párhuzamosan futó szálak.
Érdemes konfigurálhatóvá tenni az egészet, így a konfig átírásával tudod méretezni az egészet. Attól függően, hogy mekkora terhelésre számítasz.
A megvalósítás részletkérdés: Pl a kliens dönti el, hogy melyik szerverhez csatlakozzon, azon belül melyik szál portjához (terheléstől függően), vagy a kliens csak egy terheléselosztó szerverhez csatlakozik és az a belső hálón eldönti, hogy melyik alszerverhez, azon belül melyik szálhoz dobja be a klienst. Kívülről ez rejtve marad. De ez már megvalósítás kérdése.

Most olvasom közben, hogy DB-t is kérdezel. Valaki írta a Redis-t. Az nem rossz megoldás, pl szobák tárolására. A kommenteket nem tárolnám benne. Ha kell archiválás, akkor már egy sql-es "lassú" db is megfelel (persze ott se rossz ha van valami rotálás, nem biztos, hogy van értelme letárolni egy kommentet több évre, sőt...)