【问题标题】:How many read operations can be handled by Reliable Actor with no problems?Reliable Actor 可以毫无问题地处理多少读取操作?
【发布时间】:2016-11-28 15:16:18
【问题描述】:

目标:假设,我在基于 Azure Service Fabric 的 Web 应用程序上有一个非常受欢迎的页面(假设每 5 分钟有 100 万人)。我想在数据层和前端 API 层之间创建某种缓存层。

解决方案:为此,我选择了一个 Reliable Actor,它只执行一种只读操作方法:GetFrequentlyAskedPage()。此 Actor 具有 volatile 类型和 5 分钟超时,可替换为垃圾收集器。

问题:

  1. Actor 在放下之前可以处理多少读取操作?
  2. 在这种情况下,我应该为该 Actor 使用“从辅助副本读取”选项吗?
  3. 或者我的推理完全错误,应该改变实施方式。

【问题讨论】:

    标签: azure actor azure-service-fabric


    【解决方案1】:

    我不建议使用演员作为缓存。 Actor 实例强制单线程基于回合的访问,这意味着一个 Actor 实例一次只能服务一个请求。这显然不会作为缓存表现良好。更多信息请看这里:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-introduction/

    相反,我建议使用有状态的 Reliable Service 和 Reliable Dictionary 来缓存数据,或者更好的是,使用有状态的 Reliable Service作为您的数据层,在这种情况下您不需要这个缓存。

    【讨论】:

    • 如果我为此目的使用 Reliable Service,它看起来不像我为 Reliable Actor 描述的模型吗?我的意思是,我在 Reliable Dictionary 中有“流行”项目,100 万人在 5 分钟内从词典中获取了这个元素。简单示例:人们正在观看的非常受欢迎的照片。
    • 是的,不同之处在于 Reliable Dictionary 是为此目的而设计的,并且支持单行上的多个并发读取。 Actors 实例没有。
    猜你喜欢
    • 2010-12-14
    • 2015-03-21
    • 2018-07-02
    • 2010-11-03
    • 1970-01-01
    • 2022-11-23
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多