所有
当我尝试请求 - 响应https://deepstream.io/的示例时,我对Deepstream很陌生:
x.Genres[{{count}}].GenreId
我想知道我是否打开了多个具有相同名称但逻辑不同的提供程序(例如我将// remote procedure call for "times-three" with 7
client.rpc.make( "times-three", 7, function( err, result ){
// And get 21 back
console.log( result );
});
// register as a provider
client.rpc.provide( 'times-three', function( num, response ){
// ...and respond to requests
response.send( num * 3 );
});
放在几个页面中并打开它们),哪一个应该client.rpc.provide
选择?
由于
答案 0 :(得分:1)
Deepstream通过随机选择订单提供商的组合来进行负载均衡,以满足RPC的要求,并且如果不愿意处理RPC,则提供拒绝RPC的选项。
如果您的提供商使用不同的逻辑,最好以不同的方式命名它们以区分呼叫。类似于为不同的请求使用不同的HTTP路径。
例如:
// remote procedure call for "times-three" with 7
client.rpc.make( "times-three", 7, function( err, result ){
// And get 21 back
console.log( result );
});
// this might be triggered, but will always reject it ( for the sake of this example )
client.rpc.provide( 'times-three', function( num, response ){
response.reject();
});
// this will always be triggered, either first or second
client.rpc.provide( 'times-three', function( num, response ){
response.send( num * 3 );
});
// this will never be triggered
client.rpc.provide( 'times-four', function( num, response ){
response.send( num * 4 );
});