ES (Event Sourcing)事件溯源和CQRS (Command Query Responsibility Segregation)读写分离也成为了一个越来越流行的概念,使用ES和CQRS好处在此不做赘述,但是也存在颇多弊端,比如事件数量巨大、回溯状态需要提前预热、缺少成熟的框架支撑等。在这种情况下,2009年Allard Buijze在JVM平台开源了Axon Framework用来解决此问题,简单说来Axon就是集成了DDD、ES和CQRS于一身,落地实现的一套框架方案,并成立了一家公司Axon IQ,专门与Axon产品合作。
一下同类比较成熟的框架,包括Cola、Axon、Activiti、Spring StateMachine:
这里,因为Axon支持事件回溯,排查历史问题较为方便,并且官方文档完善,一直处于更新维护中。StateMachine较为轻量,流程变更对于历史数据兼容性良好。爱奇艺团队综合考虑采用Axon+StateMachine相结合,实现简版工作流引擎。