【问题标题】:Stateful service service fabric app - remoting, and custom state saving provider有状态服务结构应用程序 - 远程处理和自定义状态保存提供程序
【发布时间】:2018-09-05 19:34:47
【问题描述】:

我正在编写第一个 Azure Service Fabric 应用程序,将分区应用于有状态服务。我有几个问题:

  1. 我能否使用远程处理而不是 HTTP 来从我的 Web api 与我的分区进行通信。 Azure 示例使用 HttpCommunicationListener,我无法看到如何使用远程处理。我希望远程处理会更快?

  2. 我能否使用自定义状态持久性提供程序为给定分区保留我的状态? Service Fabric 的复制功能是否仍会支持这一点?

  3. 我的有状态服务分区可以保存几百兆的状态吗?

非常感谢以上示例/指导指针。

谢谢

【问题讨论】:

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


    【解决方案1】:
    1. 您可以在集群内使用 SF 远程处理,在服务和参与者之间进行通信。 Http 访问通常用于与集群外部的服务进行通信。 (但你仍然可以从内部使用它)

    2. 是的,您可以通过实现自定义 IStateProviderReplica2 和可能的 serializer 来做到这一点。但请注意,这很困难。 (为什么需要这个?)

    3. 有状态服务storage 容量受磁盘和内存限制。 (链接后面的计算示例)

    可靠的服务通常是分区的,因此您可以 商店仅受您拥有的机器数量的限制 集群,以及这些机器上可用的内存量。

    ---关于分区的额外信息---

    是的,看看this video,它的开头是关于如何提出分区策略的。

    “每个用户的分区”最重要的缺点是,如果不重新创建服务,就无法更改 #of 分区。此外,它不会扩展。而且数据分布不平衡。

    【讨论】:

    • 感谢您的反馈。我们正在考虑自定义状态提供程序,因为我们的期望是我们将拥有许多系统用户,每个用户将拥有自己的单个分区,其中包含他们所有的数据(兆字节到数百兆字节),并且他们的数据不是“字典” '友好的数据;它应该是一个对象的集合——我们认为简单地保存用户的对象分区集合(可能是原始二进制文件)会很好,这样我们可以在必要时快速重新加载分区。想法?
    • 是的,添加到上面的答案中
    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2018-03-26
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多