gpt4 book ai didi

azure-service-fabric - 如何枚举所有分区和聚合结果

转载 作者:行者123 更新时间:2023-12-04 22:19:29 25 4
gpt4 key购买 nike

我有一个多分区的有状态服务。如何使用 service remoting 枚举其所有分区和聚合结果用于客户端和服务之间的通信?

最佳答案

您可以使用 FabricClient 枚举分区:

var serviceName = new Uri("fabric:/MyApp/MyService");
using (var client = new FabricClient())
{
var partitions = await client.QueryManager.GetPartitionListAsync(serviceName);

foreach (var partition in partitions)
{
Debug.Assert(partition.PartitionInformation.Kind == ServicePartitionKind.Int64Range);
var partitionInformation = (Int64RangePartitionInformation)partition.PartitionInformation;
var proxy = ServiceProxy.Create<IMyService>(serviceName, new ServicePartitionKey(partitionInformation.LowKey));
// TODO: call service
}
}

请注意,您可能应该缓存 GetPartitionListAsync 的结果。因为如果不重新创建服务就无法更改服务分区(您可以保留 LowKey 值的列表)。

另外, FabricClient也应该尽可能多地共享(参见 documentation)。

关于azure-service-fabric - 如何枚举所有分区和聚合结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com