【问题标题】:Stateful service fabric service - replication of files changed in the disk有状态服务结构服务 - 复制磁盘中更改的文件
【发布时间】:2018-10-22 16:45:01
【问题描述】:

如果我将 SQLite 数据库(或任何大文件)嵌入到有状态的 Service Fabric 服务或 Actor 进程(甚至是 Azure 应用服务)中,复制在后台如何工作?
Azure 会在检测到更改时尝试复制整个文件,还是仅复制磁盘扇区?

【问题讨论】:

    标签: sqlite azure azure-service-fabric service-fabric-stateful


    【解决方案1】:

    Azure 会在检测到更改时尝试复制整个文件,还是仅复制磁盘扇区?

    不,有状态服务仅复制放置在可靠集合上的数据,您不应该期望更改的文件会跨节点复制,每当创建服务的新实例时,原始文件都会复制到新节点,您将无法访问修改后的文件。不应将文件持久保存在节点磁盘中,为此应使用 Azure Blob 存储等持久存储,或将文件共享附加到节点。

    复制如何在后台工作?

    我认为您误解了可靠集合和有状态服务的概念,我建议您查看此文档以清楚了解其工作原理: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-reliable-collections

    建议

    如果您想依赖 SF 数据管理和复制功能,我建议您将数据存储在可靠的集合中,而不是使用 SqlLite。如果符合您的要求。

    更新:

    在 Build 2018 上,SF 团队宣布了支持两个版本的“可靠”卷的计划,一个将基于 Azure 文件,与 here 所述相同,另一个将基于可靠集合,将复制更改的文件,后者尚未发布。如果您可以等待,我认为这些功能将适合您的需求。

    【讨论】:

    • 看来 Service Fabric Azure 文件卷驱动程序(预览版)是要走的路 docs.microsoft.com/en-us/azure/service-fabric/…
    • SF 路线图上有两个可靠的卷,一个是你描述的那个,另一个就像一个可靠的文件集合,不确定发布日期,我已经用这些更新了答案。
    • 是的,第二个选项(Service Fabric 卷磁盘)性能会更好youtu.be/0ab2wIGMbpY?t=1824
    猜你喜欢
    • 2017-05-23
    • 1970-01-01
    • 2016-10-16
    • 2018-07-25
    • 2016-12-04
    • 2016-08-04
    • 1970-01-01
    • 2019-12-01
    • 2017-12-08
    相关资源
    最近更新 更多