2

何千ものユーザーの同時実行を実現したいスクリプトを使用して、1 つの socket.io スクリプトを開発しました。だから、私は次のチュートリアルを試しました。 http://jakubracek.net/2013/07/30/scaling-socketio-horizo​​ntally-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";
    }
}

解決策が欲しいです。何千ものユーザーの同時実行を実現するにはどうすればよいですか。

4

0 に答える 0