我是遵循一个应用程序的例子从RockTheJVM (Daniel cioc
当请求想要创建银行帐户时,实现向akka参与者发送消息,然后参与者在Cassandra中创建帐户。它是这样的:
POST Request ->Akka Http端点->Actor(请求/管道模式)->吸食大麻→卡桑德拉
我的问题是使用actor的好处或优势是什么?是因为阿卡人的坚持吗?为什么如果我不想或不需要Akka持久性,像这样的实现:
POST Request ->Akka Http端点->吸食大麻→卡桑德拉
在不使用Akka Persistence的情况下添加actor有什么好处吗?
主要原因是关注点分离。在基于角色的版本中,每一步都有一个不同的角色。
Akka Http endpoints
处理REST(HTTP)请求,并将其转换为应用程序操作(Akka消息)。
Actor (ask/pipe pattern)
执行应用操作。它使用一个或多个数据库操作、内部状态和来自应用程序其他部分(其他actor)的信息。
Doobie
元素只负责实现数据库操作。
对于较短的管道,您有一个将REST API调用直接映射到数据库访问的单个元素,这是不灵活的,并且(相信我,我有伤痕)导致糟糕的系统设计。