Deepstreamは現在、WebSocketのサーバーを初期化するためにhttpサーバを渡すことができます。しかし、deepstream.ioをC++空間にさらに移動させることで、deepstream.ioをさらに最適化したいので、この動作は非常に近い将来廃止される予定です。これは、httpサーバが設定可能ではないにもかかわらずさらに多くの同時接続を処理できることを意味します。
ほとんどの場合、ディープストリームクライアントを使用してアプリケーション全体を構築できます。 data-sync、events、rpcsの組み合わせは、バイナリアップロード/転送などの操作をしていない限り、タスクを達成するのに最適なツールを選ぶことで利益を得ることができることを意味します。類似している
ds.rpc.provide('add-numbers', function(data, response) {
var result = data.reduce(function(previousValue, currentValue) {
return previousValue + currentValue;
})
response.send(result)
})
ds.rpc.make('add-numbers', [ 1, 3 ], function(err, data) {
console.log('result: ', data)
})
を発現させるために:deepstream除い
app.post('/add-two', function(req, res) {
var result = req.body.data.reduce(function(previousValue, currentValue) {
return previousValue + currentValue;
})
res.send(result)
})
はまた、サービスの発見などの概念を管理することになる古典要求/応答アトミック操作を必要とする場合
たとえば、RPCを使用することができロードバランシングを行い、必要に応じてクライアントにエンドポイントになる機会を与えます。
または使用のイベント:
ds.event.emit('score-changed', score++)
ds.event.subscribe('score-changed', function(newScore) {
console.log(`The score changed on: ${newScore}`)
})
やアプリケーションのデータをモデル化し、レコードを使用して、すべてのクライアントを渡ってそれを同期させるには:
var record = ds.record.getRecord('playerA')
record.subscribe('score', function(newScore) {
console.log(`Player A score has changed to: ${newScore}`);
});
record.set('score', record.get('score')++);
私はそれが役に立てば幸い!