Axon 提供了一种统一、高效的 Java 应用程序开发方式,无需进行大量重构即可从单体应用发展到事件驱动的微服务。Axon 包括编程模型和专用基础设施,为编程模型提供企业就绪的操作支持 - 特别是用于扩展和分发关键任务业务应用程序。编程模型由流行的Axon Framework提供,而Axon Server是Axon的基础设施部分,全部开源。
1. 简介
1.1 可扩展性和性能
CQRS 和 Axon 区分两种类型的应用程序组件:查询(读取)和更新(写入)组件。这意味着这些组件中的信息结构可以针对当前的目的进行优化。因此,查询组件可以快速访问已为其目的而结构化的数据。这本身就是一种性能优势,而且还允许针对特定组件类型进行扩展。
1.2 可审计性和透明度
应用程序安全性涉及身份验证、授权和审核等功能。虽然前两者在应用程序中很常见,但审计经常被忽视或发现实施成本太高。Axon 专注于事件溯源,提供最可靠的审计形式。除了安全性之外,审核对于许多应用程序来说也是一项关键的业务和监管要求。
1.3 业务敏捷性
随着软件系统在其生命周期中不断发展,它们通常会变得更加复杂。管理复杂性的一种行之有效的方法是将应用程序分解为简单、松散耦合的组件。Axon 为组件提供清晰的 API,以松散耦合的方式进行通信。松散耦合意味着随着业务需求的发展,组件可以轻松互换。除了使组件更容易调整之外,松散耦合还使得添加新组件变得更容易。通过简单地连接到现有的松散耦合事件,添加新组件不需要修改现有组件。与更传统的命令式编程方法相比,这是一个巨大的优势。
1.4 应用和业务洞察
事实证明,Axon 倡导的事件溯源范式可以为分析和报告提供有价值的信息源。事件流提供了应用程序中发生的所有事情的可靠跟踪,基于该跟踪,可以从第一天开始计算新的和意外的见解。
2. 搭建开发环境
快速入门工具包包可在以下位置下载 -> https://axoniq.io/download。