2016-12-21 10 views
1

1つのNode.js(1つのマシン)環境で複数のParseサーバーインスタンスを実行する方法はありますか?はいの場合は、構成はどうなりますか。1つのNode.js環境で複数のParseサーバーインスタンスを実行する

私は具体的にJelasticをターゲットにしていますが、とにかく一般的な解決策が適用できると思います。

+0

を教えてください? – Alex

+0

彼らはすべて同じMongoDBに接続しますか?ダッシュボードの負荷を分散できますが、サーバーは単なるスタンドアロンのものではありません –

+0

はい同じmongodb – xybrek

答えて

0

cluster moduleを使用して、同じサーバーアプリケーションの複数のインスタンスを実行できます。 Node.jsまたはプログラムにルーティングロジックがなく、ワーカー間の共有状態がないことに注意してください。したがって、セッションやログインなどのメモリ内データオブジェクトにあまり依存しないようにプログラムを設計することが重要です。

1

私はこの方法を使用して、その作業を完璧に

// First app instance here 

var api1 = new ParseServer({ 
    databaseURI: 'mongodb://localhost:27017/dev1', 
    cloud: '/home/myApp/cloud/main1.js', 
    appId: 'myAppId1', 
    masterKey: 'myMasterKey1', 
    fileKey: 'optionalFileKey1', 
    serverURL: 'http://localhost:1337/parse' 
}); 

// Second app instance here 

var api2 = new ParseServer({ 
    databaseURI: 'mongodb://localhost:27017/dev2', // Connection string foryour MongoDB database 
    cloud: '/home/myApp/cloud/main2.js', // Absolute path to your Cloud Code 
    appId: 'myAppId2', 
    masterKey: 'myMasterKey2', // Keep this key secret! 
    fileKey: 'optionalFileKey', 
serverURL: 'http://localhost:1337/parse' // Don't forget to change to https if needed 
}); 


// Serve the Parse API on the /parse URL prefix 
var mountPath = process.env.PARSE_MOUNT || '/parse'; 

// Mount Apps here 
app.use(mountPath, api1); 
app.use(mountPath, api2); 

だが、これがお役に立てば幸いです!私はあなただけの別のポートで解析サーバの各インスタンスを公開することはできません

enter image description here

+0

これはどのように機能しますか?両方のインスタンスを同じ場所にマウントしました –

+0

私は同じindex.jsファイルにマウントしましたが、別々に作業します。 同じServer_urlですが、アプリケーションの合計が違うので、コードを理解してみてください。 –

+0

いいえ、 'app.use(mountPath、api2);は' api1'と同じパスにあるので、 'api1'への参照はもうありません。 –