Azure service fabric 服务结构可靠的集合性能

Azure service fabric 服务结构可靠的集合性能,azure-service-fabric,service-fabric-stateful,Azure Service Fabric,Service Fabric Stateful,我需要在服务结构上的可靠字典中存储大量数据。我们将事件存储实现为许多可靠的字典,因此域发出的每个事件都会在存储中结束。我想知道以下两种情况下的性能差异: 使用一个(非常大的)可靠的字典来存储特定聚合类型的所有事件:这将导致少量字典,每个字典包含数百万个事件 使用一个可靠的小字典来存储单个聚合实例的事件:这会导致许多小字典(比如数百万个)都包含一些事件 鉴于状态复制和读写性能,最有效的方法是什么?听起来您应该使用有状态的参与者,您可以让数百万参与者保存数据 如果您需要阅读所有参与者的大量摘要(

我需要在服务结构上的可靠字典中存储大量数据。我们将事件存储实现为许多可靠的字典,因此域发出的每个事件都会在存储中结束。我想知道以下两种情况下的性能差异:

  • 使用一个(非常大的)可靠的字典来存储特定聚合类型的所有事件:这将导致少量字典,每个字典包含数百万个事件
  • 使用一个可靠的小字典来存储单个聚合实例的事件:这会导致许多小字典(比如数百万个)都包含一些事件

鉴于状态复制和读写性能,最有效的方法是什么?

听起来您应该使用有状态的参与者,您可以让数百万参与者保存数据

如果您需要阅读所有参与者的大量摘要(聚合)信息,请参阅

如果您想使用有状态服务,以下是我的想法: 对于第一个场景,您必须使用分区,对于第二个场景,您应该构建多个数据服务,以便您的数据分布在节点之间

第二种方案的优点是可以更快地访问其数据,但需要一个额外的目录服务来保存事件聚合的名称,以便您可以查找正确的目标字典

在这两种情况下,复制不应有所不同