tym*_*tam 18 azure-service-fabric
我使用开箱即用的分区创建了一个有状态的服务:
<StatefulService ServiceTypeName="ExamplesServiceType" TargetReplicaSetSize="[ExamplesService_TargetReplicaSetSize]" MinReplicaSetSize="[ExamplesService_MinReplicaSetSize]">
<UniformInt64Partition PartitionCount="[ExamplesService_PartitionCount]" LowKey="-9223372036854775808" HighKey="9223372036854775807" />
</StatefulService>
Run Code Online (Sandbox Code Playgroud)
服务清单将params设置为(开箱即用):
<Parameter Name="ExampleService_PartitionCount" Value="1" />
<Parameter Name="ExampleService_MinReplicaSetSize" Value="2" />
<Parameter Name="ExampleService_TargetReplicaSetSize" Value="3" />
<Parameter Name="WebService_InstanceCount" Value="1" />
Run Code Online (Sandbox Code Playgroud)
现在我想从同一群集中的无状态服务调用我的有状态服务:
ServiceUriBuilder builder = new ServiceUriBuilder(ExampleServiceName);
var service = ServiceProxy.Create<IExampleService>(builder.ToUri(),new ServicePartitionKey(1));
return service.MyCallAsync(id);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
为分区"a67f7afa-3370-4e6f-ae7c-15188004bfa1"的初级或无国籍实例具有无效地址,则这意味着从副本/实例正确的地址在系统中没有被注册
有状态的服务,我试图达到记录到事件日志和日志携带"的partitionid":"a67f7afa-3370-4e6f-ae7c-15188004bfa1".
我错过了什么?
tym*_*tam 28
我没有注册一个遥控器,如http://vunvulearadu.blogspot.com/2016/04/azure-service-fabric-primary-or.html所述.
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new[] { new ServiceReplicaListener(context => this.CreateServiceRemotingListener(context)) };
}
Run Code Online (Sandbox Code Playgroud)
KPE*_*ERI 11
如果其他人来到这里想知道如何为无状态服务做什么,这对我有用:
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
return new[] { new ServiceInstanceListener(context => this.CreateServiceRemotingListener(context)) };
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4207 次 |
| 最近记录: |