2014-10-30 53 views
0

我正在寻找关于如何完成以下操作的建议。我的Akka应用程序将作为一个集群运行,将持久保留到后端Web服务。每个我坚持的资源都被命名。例如:A,B,CAkka命名资源串行执行

将有每个资源变化的队列中,我正在寻找的想法如何,我可以有一个配置,让我来控制以下:

    调用进程
  • REST的最大数量在任何时间点(整体并发)
  • 确保只有一个每个命名资源REST请求正在进行
  • 它的优良的并发请求,只要他们不是相同的资源
  • 指定的资源是动态,在数据库基础上的记录

感谢

回答

0

我的愿景是未来:

你需要有某种主管演员的它保持一定的状态。在向该主管的每个请求中,检查是否正在处理该资源。如果是,那么你应该将这个请求存储到某个存储/队列中。如果不是,产生新的演员,并把这个演员和资源提到上述状态。完成后,从状态中删除actor和资源。我强烈建议您使用存储/队列临时保存对主管角色的请求。在这种情况下,你可以保护自己免于压倒系统。为了保证总体的并发性要求,你可以使内部监督员的状态有界,如果超过了你的存储请求,将存储/队列存储起来。

当然你需要一些轮询这个队列的机制,并向主管请求