Axon 框架 3.3 发布,提供订阅查询 API 并支持 Kafka

  • 2018-07-20
  • 本文字数:834 字

    阅读完需:约 3 分钟

Axon 框架的最新版本提供了订阅查询 API,可用它订阅特定查询模型的更新,同时提供了截止期管理器,可用它调度截止期消息。最近发布的 3.3 版本还增加了Axon-Kafka 模块,可使用 Kafka 来发送和接收事件。

有了新的订阅查询 API 后,就无需通过定期检查查询模型来确定模型是否被更新,相反,现在可以给模型添加订阅,从而接收它们的所有更新。

利用新的截止期管理器,可以安排截止期消息在一个特定时间点发布。然后,可以通过添加一个用于处理截止期消息的函数,在一个 Aggregate 或 Saga 实例的范围内处理该消息。

借助 Axon-Kafka 模块,用户可以使用 Kafka 发送和接收事件。Kafka 为流事件提供了解决方案,因此,在从 Kafka 源接收事件时,Axon 重放事件处理器。对于是否应该使用 Kafka Streams 来处理事件回溯,既有人赞同,也有人提出质疑 Axon 的开发人员也进行了讨论。在最终的实现中,Axon 把 Kafka 作为可流式消息源,以一种在分布式的方式接收事件。

其他改进包括:

  • 现在,一个聚合可以实例化另一个聚合,这是领域的常规性需求。

  • 简化了 Handler 的配置。除此之外,一个事件处理器可以处理若干个 Saga。

  • 运行异步任务的查询处理器现在能够声明一个通用的 future 返回类型。

  • 聚合现在能够访问自己的版本,从而能够检测到发生冲突的变更,并确保查询结果包含了正确的变更。

最近发布了更新版本 3.3.2 。这个版本修复了三个已的问题,强烈建议那些还在使用版本3.3 的用户进行升级。

Axon 框架是 JVM 平台的开源产品,为基于 CQRS 和事件溯源架构模式的系统提供构建块。该框架是由 Allard Buijze 于 2009 年创建,并基于 Apache 许可(2.0 版)进行发行。这里有些基于 Axon 的小型示例应用供下载

AxonIQ 在今年早些时候发布了自己的事件源数据库 AxonDB ,该数据库支持基于推送的事件发布并完全符合 ACID 的事务模型,这意味着一个事务中可包含多个事件。这里有一个免费的开发者版本供下载

查看英文原文: Axon Framework 3.3 with a Subscription Query API and Kafka Support

感谢无明对本文的审校。