我最初问在 Grails 中处理数据库支持的异步回调,但从那时起我做了很多研究,所以我问了一个更尖锐的问题......
最近,我尝试在平台核心插件中使用事件 API,但是乐观和悲观的锁以及会话和事务管理,再加上非确定性回调,使得这变得不可能变得稳固和稳定。我还在追我的尾巴。
所以,我正在考虑一种不同的方法,但我对 GPars 和 Actors 的经验不足,无法知道我是否正确地处理了这个问题。我想做的是创建一个负责所有数据库更新的Actor。将任何内容写入数据库的唯一方法是向该单例 Actor 发送消息。所有异步回调都将执行它们的逻辑,但任何涉及数据库写入的内容都将发送到 DatabaseActor。
这是一个疯狂的瓶颈吗?它是一个合理的架构吗?