CQRS框架Axon的最新版本支持了MongoEventStore,它使用了MongoDB作为后台存储,提供了一套简化的API,并带来了性能上的提升。最新的发布版本2.0允许事件对象基于POJO及批注(annotation)定义消息、负载和元数据。新版本中的其它特性还包括:
- 一个高性能的命令总线,它能以一种无锁的算法并行地进行命令处理,能够在每个时间单元处理多出四倍的命令。
- 新的代码逻辑以确保事件的序列化仅发生一次,并确保仅在实际使用事件时进行反序列化。
- 对大量事件的重播得到极大的加快。
- 一个分布式的命令总线,允许横向扩展至多台机器,并调整每台机器的负载。
- 支持事件的转型(Upcasting)及分解(Demultiplexing),例如:当实现了某个新的事件结构后,能够将旧的事件转换为多个新的事件。
- 使用AMQP进行事件分发。
该团队也发布了一个快速入门指南,包含了基于Axon创建一个简单系统的步骤,并且在参考指南中更新了框架的各处改动。
Axon框架为基于CQRS和事件溯源(Event Sourcing)架构模式的系统提供了各种构建块,这两种模式正受到越来越多的关注。领域驱动设计(DDD)参考书籍的作者Eric Evans在由其他人维护的DDD社区网站上特别指出了它们的重要性:
“CQRS和Event Sourcing是实现DDD的两种密切相关的架构方式,它们也是过去几年中DDD领域里最热门的话题。”
Axon框架由Allard Buijze所创建,它是一个基于Apache授权的开源产品,当前的版本是2.0,并且可以选择付费的支持。
目前已有了一个专属Axon用户的论坛,上面已经聚集了约200名用户,产出了300篇帖子。有一篇关于真实世界中的实际经验的讨论列举了对这个框架的正面和负面的两方面评价。