我最初问过Handling database-backed async callbacks in Grails,但从那以后我做了很多研究,所以我要问一个更尖锐的问题......
最近,我尝试在platform-core插件中使用Events API,但乐观和悲观的锁定以及会话和事务管理与非确定性回调相结合,使得这不可能变得稳固和稳定。我还在追我的尾巴。
所以,我正在考虑采用不同的方法,但我对GPars和Actors的经验不足以了解我是否正确接近这一点。我正在考虑做的是创建一个负责所有数据库更新的Actor。将任何内容写入数据库的唯一方法是向此单例Actor发送消息。所有异步回调都将执行其逻辑,但涉及数据库写入的任何内容都将发送到DatabaseActor。
这是一个疯狂的瓶颈吗?这是一个合理的架构吗?