上云之后,企业如何降成本?速查《云原生成本管理白皮书》找答案>> 了解详情
写点什么

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

  • 2018 年 7 月 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

感谢无明对本文的审校。

2018 年 7 月 20 日 16:291302
用户头像

发布了 199 篇内容, 共 71.6 次阅读, 收获喜欢 283 次。

关注

评论

发布
暂无评论
发现更多内容

浅谈数据中台和DataFabric的差异

Kafka中文社区

表设计之数据类型优化

Ayue、

数据库 1月月更

AI开发平台系列2:集成式机器学习平台对比分析

Baihai IDP

AI

架构实战营 - 模块 4 - 作业

Pyel

「架构实战营」

查询 MySQL 字段注释的 5 种方法!

王磊

Apache Flink 不止于计算,数仓架构或兴起新一轮变革

Apache Flink

大数据 flink 编程 实时计算 流式数仓

Java&Go高性能队列之LinkedBlockingQueue性能测试

FunTester

Disruptor 性能测试 消息队列 FunTester 高性能消息队列

Hive UDF,就这

华为云开发者社区

sql 函数 UDF Hive UDF 用户自定义函数

深入理解static关键字

编程江湖

static关键字

云单元架构,如何赋能数字化转型呢?

博文视点Broadview

模块四

浮生若梦

1 月月更|盘点 2021|推荐学Java——数据表操作

逆锋起笔

Java MySQL 数据库表 多表查询 关联查询

Rust - mmap 简单写性能比较测试

rust Mmap

教你如何在Spark Scala/Java应用中调用Python脚本

华为云开发者社区

Python spark 脚本 Spark Scala Spark java

谁说count(*) 性能最差,我需要跟你聊聊

华为云开发者社区

函数 count 字符 数据表

kafka的优缺点都有那些

编程江湖

kafka

ReactNative进阶(十):WebView 应用详解

No Silver Bullet

webview React Native 1月月更

请说出4种不使用第三方变量交换两个变量值的方法

阿Q说代码

位运算 1月月更 交换变量

性能场景之压测策略设计

zuozewei

性能测试 性能分析 1月月更

Vue的动态组件 & 异步组件

编程江湖

Vue

快来一起玩转LiteOS组件:RHas

华为云开发者社区

C语言 LiteOS 组件 RHas 哈希函数库

Flutter:创建一个自动调整大小的 TextField

坚果

flutter 1月月更

前后端分离 -- 深入浅出Spring Boot + Vue实现员工管理系统 Vue如此简单~

Bug终结者

Vue 前后端分离 Java 分布式 elementUI

【Spring专场】「MVC容器」不看源码就带你认识核心流程以及运作原理

浩宇天尚

springmvc Spring Framework Spring MVC 1月月更

netty系列之:JVM中的Reference count原来netty中也有

程序那些事

Java Netty 程序那些事 1月月更

美团李凯揭秘数据库发展三大趋势 | TiDB Hackathon 评委访谈

PingCAP

前端质量提升利器-马可代码覆盖率平台

vivo互联网技术

前端 代码 平台架构

java开发框架Redis之sentinel和集群

@零度

redis JAVA开发

java集合【13】——— Stack源码分析走一波

秦怀杂货店

Java 源码分析 集合

中年人对酒的看法

wood

300天创作

Axon框架3.3发布,提供订阅查询API并支持Kafka_语言 & 开发_Jan Stenberg_InfoQ精选文章