リアルタイムチャット(LINEみたいなの)のサーバ側技術選定

今までnginxとphpでwebサイトをつくるお仕事してるのですが、
今回、リアルタイムなチャットをつくってっていわれました。

リアルタイムチャット(LINEみたいなの)をつくる上での技術選定をしてみたので、
ツッコミがあったら是非ぜひお願いします。
こんなの変だよ、
こっちはこれがいいよ、
ここ読んでみなよわかりやすいよ
などなどコメントもらえると嬉しいです

要件

  • 同時接続1kとか
  • 一般wifiからも接続可能

通信の候補

  • phpにpolling
  • 独自ソケット通信
  • websocket
  • http2/SPDY
  • long polling

pollingは論外としとく。
FWを通らないと嫌なので、独自ソケットはやめた。
http2/SPDYはよくわからないし、websocketでべつに良さそう。
httpでつないで、upgradeで結構生な通信をする仕組み。
軽いけど、接続断対策を考える必要はありそう。
今更long poringはいらない気がする。

websocketでのサーバ環境候補

nginx + phpはたぶんだめ。おそらく繋ぎっぱなし同時接続だから、
スレッドやプロセス依存はしんどい。イベントプール型の環境が必要。

nodeはべつにいい感じ。でもgolangでもいい感じ?
golangが書きやすいという意見が多いのでそっちで行ってみたい。
Earangは関数型言語だし、バイナリが基本で文字を扱うのが得意じゃないから今回は見送る。
複雑な接続プロセスとかがあるとEarangは生きてきそう。今回はそんななさそう