Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Akka web应用程序体系结构_Scala_Architecture_Akka_Actor - Fatal编程技术网

Scala Akka web应用程序体系结构

Scala Akka web应用程序体系结构,scala,architecture,akka,actor,Scala,Architecture,Akka,Actor,在《Akka在行动》一书的开头,作者使用Akka Http创建了一个小型WS-app,其中Akka参与者代表有状态的生命实体。这是一个小型票务WS-Rest服务,一个actore作为路由器,另一个作为主管,每个节目一个演员持有每个节目的当前票务 假设我想围绕这一原则构建一个web应用程序,并使用ActorSystem而不是传统的无状态DB体系结构。如果我的参与者将我的实时应用程序数据作为后端保存,那么我的web应用程序就有问题了 假设我想做一个关于票务服务的网站。我使用play创建了一个MVC

在《Akka在行动》一书的开头,作者使用Akka Http创建了一个小型WS-app,其中Akka参与者代表有状态的生命实体。这是一个小型票务WS-Rest服务,一个actore作为路由器,另一个作为主管,每个节目一个演员持有每个节目的当前票务

假设我想围绕这一原则构建一个web应用程序,并使用ActorSystem而不是传统的无状态DB体系结构。如果我的参与者将我的实时应用程序数据作为后端保存,那么我的web应用程序就有问题了

假设我想做一个关于票务服务的网站。我使用play创建了一个MVC web应用程序。当用户到达该网站的主页时,他可以看到所有剩余门票的节目,加上在其位置附近聚光灯下的节目,以及一些提醒

当页面加载时,控制器必须要求每个参与者获取一些实时数据以显示页面。这不是效率低下吗?发送对所有节目的请求,等待所有节目的响应,然后显示页面,这不是很耗时吗

webapp是否应该实现某种由actor系统更新的readmodel数据?在这种情况下,对于大型项目来说,参与者和数据库之间的数据复制不是很难管理吗


我满脑子都是问题

从未使用过Akka持久性,我甚至不知道它是如何工作的,但如果无法轻松查询它们的持久化状态,那么您可能应该使用CQR。据我所知,持久化参与者存储它们接收到的事件,并且每个参与者只在附加数据存储中。因此,例如,当您在失败后重新启动actor时,它将检索其过去的状态。那么您建议在CQRS中使用读取模型?没有实时查询参与者的状态吗?如果参与者基于事件源,那么是的,一定要使用CQR,决不要通过参与者进行查询。参与者是用来处理命令的,没有查询。@plalx我知道已经2年了,但是你仍然同意“参与者与查询”的概念吗?如果是的话。。。你有一些链接/代码来说明吗。我真的很好奇。