1

私はいくつかの Node.js フレームワークを使用して、通常は Heroku を使用してデプロイするアプリケーションを作成しています。最近、Derby のドキュメンテーション ページで次の免責事項を見つけました。

Derby は複数のサーバーをサポートしていますが、現在、クライアントは同じサーバーに繰り返し接続する必要があることに注意してください。Heroku はスティッキー セッションや WebSocket をサポートしていないため、複数の dyno を使用することはできません。アプリをスケーリングするには、別のホスティング オプションを使用する必要があります。

これは明らかにスケーラビリティに関係しています。上記の説明から、これはノードの制限ではなく、Heroku の制限であることを理解しています。

まず、これは正確ですか?つまり、Heroku で Node アプリをスケーリングできませんか?

それが本当なら、どこを向いたらいいですか?AWS?

ありがとう。

4

1 に答える 1

1

Derby は典型的な Node.js アプリではありません。Derby (および Meteor) は、基本的に Node.js 上に構築された完全なフレームワークです。Websockets は Heroku ではまだサポートされていません: https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku

ただし、通常の Node アプリのスティッキー セッションに代わる一般的な方法は、Redis (または Postgres または Mongo) などのデータストアを使用してセッション データを保存することです。これは、特定のデバイスの障害に対して回復力があるため、スティッキー セッションよりもはるかに堅牢なアプローチです。

水平スケーリングの詳細については、http://12factor.net/ をご覧ください

于 2013-09-02T01:58:24.447 に答える