每个数据库实体一个 Akka 演员?
Posted
技术标签:
【中文标题】每个数据库实体一个 Akka 演员?【英文标题】:One Akka actor per database entity? 【发布时间】:2016-06-28 06:18:16 【问题描述】:每个数据库实体有一个 Akka 演员是常见的做法吗?也就是说,它是不是要这样使用?
假设我们有数以万计的用户,对于每个登录的用户,我们在 Play 网站上创建一个带有子actor 的actor,它们代表关系数据库中的相关数据。 actors vs. entities
有没有更好的方法?有什么好处和坏处?
【问题讨论】:
【参考方案1】:请查看 akka actor 系统文档http://doc.akka.io/docs/akka/2.4.7/general/actor-systems.html
一种常见的模式是为 N 个参与者创建一个路由器,每个参与者包装一个数据库连接并处理发送到路由器的查询。然后必须调整数字 N 以获得最大吞吐量,这将取决于部署在什么硬件上的 DBMS。
【讨论】:
因此,扩展它 - 参与者是为了分发工作流,代表数据库连接的参与者是有意义的(除了数据库连接受到限制而用户不受限制)来限制同时处理的查询。每个 DB 实体一个 actor 似乎是一种误解,为什么要异步处理 DB 实体? 感谢 Mario 和 Tomasz 的澄清。你救了我几天,我最好和儿子一起度过。以上是关于每个数据库实体一个 Akka 演员?的主要内容,如果未能解决你的问题,请参考以下文章