Nie miałem takiego problemu więc mogę czegoś nie wiedzieć . Tylko nie wiem czy dużo ludzi miało... więc postaram się pomóc z tego co wiem.
Akurat znam się na Java EE i absolutnie nie polecam do tego. JavaEE i WS nijak nie pasują. Działa, ale w tej skali do niczego się Ci Java EE nie przyda. (Będziesz w Oraclu z 2PC dane od klientow zapisywał? ... powodzenia).
Twój problem przede wszystkim to bedzie infrastruktura sieci (rozproszenie i ograniczenia systemów operacyjnych ) - kod servera to drugorzedny problem.
Bedziesz musiał rozproszyc to na wiele ( > 10 ) serwerów - (czyli cloud)
Z czegoć co wiadomo, że uciągnie to Netty.
https://dzone.com/articles/512000-concurrent-websockets
Ratpack, który lubie jest na Netty i obługuje WS - ale to tylko biblioteka w Javie.
Jak to rozproszyć? Ostanio bawiłem się Lagom frameworkiem i tam rozproszenie i cloud to podstawa.
Ma wsparcie dla WS jako jedną z podstawowych rzeczy.
Działa domyślnie na Cassandrze (czyli NoSQL zrobiony głównie z myślą o rozpraszaniu).
Ale, że zrobiłem w tym tylko głupią gierke, i jeszcze nie przetestowałem wydajnośći to nie moge w żaden sposób ręczyć.
A tak poza tym, żeby zrobić tu w miarę prawdopodobny sizing i zaproponować architekturę to trzeba by było długo posiedzieć. BARDZO dużo zależy od tego co ten system ma robić, jak wiele i jak często informacji ma przesyłać. Jakie wymagania na czasy odpowiedzi, consistency (zapomnij :-) ), rozmiar danych roboczych itp.