何千ものユーザーの同時実行を実現したいスクリプトを使用して、1 つの socket.io スクリプトを開発しました。だから、私は次のチュートリアルを試しました。 http://jakubracek.net/2013/07/30/scaling-socketio-horizontally-using-redis-behind-nginx/
ここで私のシステムでは、次のポート 5656、5657、5658 で実行されている複数の nodejs+socket.io サーバーを作成しました。私が直面している問題は、nodejs サーバーが 1 つしか実行されていないときに正常に動作し、最大 10,000 ユーザーの同時実行性になることです。しかし、ポートが異なる複数のサーバーで同じことを実行すると、接続要求が拒否され続けます。ここで、リバース プロキシ nginx を試しました。接続リクエストを各nodejsサーバーに分散することで負荷を分散します。
私のnginx構成は次のとおりです。
upstream backend {
least_conn;
server 127.0.0.1:5656;
server 127.0.0.1:5657;
server 127.0.0.1:5658;
}
server {
listen 80;
server_name $hostname;
location / {
proxy_pass http://backend;
proxy_next_upstream error timeout;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
解決策が欲しいです。何千ものユーザーの同時実行を実現するにはどうすればよいですか。