Azure Service Fabric的 Reliable Actors 基于回合的并发在官方文档中有描述。如果我没看错的话,Reliable Services可以同时服务多个请求。假设我有一个具有单一 CPU 限制方法的可靠服务。方法是异步的,所以服务可以处理多个请求。我的本地集群托管在 2 核机器上,当我从 2 个不同的控制台应用程序客户端调用 Service 时,CPU 100% 按预期使用。所以没有理由同时处理两个以上的请求。我该如何限制呢?如果我搬到真正的集群,我对托管的机器服务一无所知,那我该怎么办?
public async Task<bool> CpuBoundAsync(int value)
{
ServiceEventSource.Current.ServiceMessage(this,
"CPU-BOUND WORK IN PROGRESS");
int z;
await Task.Run(() =>
{
for (int i = 0; i < int.MaxValue; i++)
{
z++;
z--;
}
});
ServiceEventSource.Current.ServiceMessage(this,
"CPU-BOUND WORK COMPLETED");
return true;
}