首页 > 解决方案 > Azure Service Fabric 中 Reliable Dictionary 中的数据如何保存到磁盘

问题描述

Azure Reliable Dictionary 如何实际处理数据持久性。它是像 SQL 一样将除索引(即我们的例子中的键)之外的所有数据都保存在磁盘上,还是像 hashmap 一样将所有内容都保存在内存中(即键和值)并且只在磁盘上保留备份

标签: azureazure-service-fabricservice-fabric-stateful

解决方案


Reliable Collections 的当前实现将整个数据集存储在内存中,并在磁盘中序列化一个副本。

它需要保留在内存中,因为存储在磁盘中的数据是序列化的,并且查找此数据需要很长时间才能反序列化以检索数据。

从他们提到的一个问答环节中,他们提到计划有一个替代解决方案,其中热数据将在内存中,冷数据在磁盘中,但这只是当时积压中的一个项目,不确定他们是否会随时实施很快。

以下链接还将提供有关集合存储的一些额外见解:

有状态服务中可靠集合的容量限制

Azure Service Fabric 可靠集合和内存

数据序列化如何影响应用程序升级

没有对集合进行任何更改的 CommitAsync() 的缺点


推荐阅读