actor - 服务结构参与者模型是否允许节流?如果没有,如何制作一个?

标签 actor azure-service-fabric

这是我使用服务结构集群的场景:

  1. 每个客户一个参与者实例。
  2. Actor 实例 ID 是客户 ID。所以这个 Actor 是我的客户 Actor 。
  3. 客户参与者实现包含 n 个步骤的工作流。
  4. 比方说,在第 m 个步骤(共 n 个步骤)中,该参与者需要与外部系统 (E) 对话。
  5. 系统 E 在任何给定时间都不允许超过 x 个客户端。
  6. 我在任何给定时间都有 100,000 个客户参与者实例。
  7. 由于外部系统 (E),我需要在步骤 m 将我的客户参与者限制为 x。
  8. 在步骤 m 之后(节流设置为 x),我想再次回到 actor 模型的全部潜力。

这是我的问题:

  1. Service Fabric 集群参与者模型是否提供任何节流机制?有了这种节流机制,我的场景会发生什么变化?
  2. 如果在 actor 模型中没有现成的节流解决方案,我将如何创建一个?

最佳答案

通常您会使用某种队列来处理负载突发。您可以(例如)在 Actor 和系统 E 之间添加一个服务,该服务将来自 Actor 的消息排队,然后在后台使用节流处理它们。

Actor 和他们的调用者不需要知道任何节流。并且它将 Actors 与系统 E 分离。

关于actor - 服务结构参与者模型是否允许节流?如果没有,如何制作一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39604238/

相关文章:

Scala 2.8 Actor 设计文档? Akka 设计文件?

.net - 直接连接到服务结构中的特定实例

azure - SignalR Actor 或无状态服务

azure - 即使使用 sudo,Yeoman 也会给出权限错误

scala - Scala系统进程挂起

java - Akka 远程 actor 服务器发现

spring - Actor 模型模式: Limiting number of concurrent running actors

c# - 为了解决 GA 问题而构建可靠的服务与 Actor

azure - 在应用程序网关后面配置 Service Fabric

azure-service-fabric - 暂存槽和 VIP 交换