许多官方Service Fabric文章指出应该可以对辅助副本执行读取操作,但我无法找到显示如何配置或使用此高级功能的单个代码示例。
一个很好的例子是详细说明这个简单的代码示例:https://github.com/Azure-Samples/service-fabric-dotnet-getting-started/tree/master/Services/AlphabetPartitions
对辅助节点的读取只是HTTP Get操作。
我想用它来扩展StatefulServices上的读取密集型操作。
答案 0 :(得分:3)
在本文中找到答案:How to use the Reliable Services communication APIs
可以使用 ServiceReplicaListener 类的构造函数中名为 listenOnSecondary 的参数启用对辅助副本的读取。
此处显示了文章中的代码示例,并使用命名参数进行了调整:
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new[]
{
new ServiceReplicaListener(context =>
new MyCustomListener(context),
"customReadonlyEndpoint",
listenOnSecondary:true),
new ServiceReplicaListener(context =>
this.CreateServiceRemotingListener(context),
"rpcPrimaryEndpoint",
listenOnSecondary:false)
};
}