Java Akk:设计演员组织结构时需要考虑的因素?

Java Akk:设计演员组织结构时需要考虑的因素?,java,akka,Java,Akka,我正在使用Java8构建一个web服务客户端,它利用TimerBasedThrottler。在设计演员组织模型时应该考虑哪些因素? 我目前正在考虑 复杂性 吞吐量 堵塞的可能性 我目前的设计采用以下组织结构: - RequestCoordinator (Master) singleton ----- TimerBasedThrottler (Delegator) singleton ---------- RequestSender (Worker) - one a

我正在使用Java8构建一个web服务客户端,它利用
TimerBasedThrottler
。在设计演员组织模型时应该考虑哪些因素?

我目前正在考虑

  • 复杂性
  • 吞吐量
  • 堵塞的可能性
  • 我目前的设计采用以下组织结构:

    -  RequestCoordinator (Master) singleton
    -----   TimerBasedThrottler (Delegator) singleton
    ----------              RequestSender (Worker) - one actor created per web service request
    
    传入的请求通过执行特定TPS的节流器传递。节流器和协调器都是单例的。然后使用单个参与者发送每个请求。这些参与者被传递到节流器,并在完成工作后发出毒丸消息


    为阿克卡演员推广路由器的使用;这能改进我上面概述的设计,使其更具容错性和性能吗?我的是一个简单的用例,但是我想探索如何使用Akka原则改进设计?

    一般来说:鼓励层次结构并观察错误内核模式,这本质上是将风险更高的任务推到叶节点

    其次,我建议您考虑使用
    context.system.scheduler.scheduleOnce
    来处理
    毒药
    消息,如果您还没有这样做的话。这可以极大地简化实现(大部分是旁白,不一定针对文章中的任何内容)

    此外,
    毒药
    是正确的方法吗?为什么不
    context。如果这些是动态创建的短期参与者,请停止

    您是否阅读了关于或的文档

    阻塞

    不要!如果你真的需要,按照你的建议使用

    过早优化?

    您如何测试当前的解决方案?它证明是有问题的还是显示了资源争用?小心这不是过早优化的情况:)

    当然,这是一本很棒的书