Axon框架的程序遵循基于:
- 领域驱动设计(DDD)
- 命令查询责任隔离 (CQRS)
- 事件驱动架构(Event Driven Architecture,EDA)
的体系结构模式,这些原则的结合,使基于Axon的程序更加健壮、适应性更强。
基于Axon框架程序的典型体系结构如下:
- 领域驱动模型:可以使业务实体不会“贫血”,更加饱满,实现高内聚、低耦合;
- 命令查询责任隔离:命令模型和查询模型的分离,使得每个模型更容易理解,更易开发维护,天然适合高并发场景;
- 事件驱动架构:支持事件溯源,方便对历史事件重放,记录数据变化完整过程,便于BI分析、线上问题排查、还原系统状态到任意时间点等。