如何判断选择哪个提供商

时间:2016-10-18 23:09:28

标签: deepstream.io

所有

当我尝试请求 - 响应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选择?

由于

1 个答案:

答案 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 );
});