我是Play框架和Akka Toolkit的新手。
我们正在尝试使用Play在Web客户端和微服务之间构建业务流程层。
因此,基本上对于来自客户端的每个请求,Play必须执行WS调用并返回JSON(以及缓存它)。
现在,在进行WS调用时,我们可以使用Play Async API或使用Akka actor。 这些选项中的一个无论如何都超过了另一个吗?
与直接使用Play Async API相比,是否有人建议何时可以尝试使用Akka演员和Play?
答案 0 :(得分:0)
在Akka中,作为演员的主要概念,它是一个具有记忆以保持状态的对象。对该状态的顺序操作由系统序列化,不能干扰。在Java8承诺/期货中,主要概念是异步方法调用,如果不同的方法属于同一个对象,则提供串行访问是用户的责任 - 这不容易且容易出错。
然后,使用future意味着为每个单独的操作创建Future
对象,如果操作是细粒度的,则可以将其视为开销。
另一方面,CompletableFuture
可以将多个事件组合成一个像allOf()
这样的事件,在Akka中没有直接的类比。