写点什么

CQRS 框架 Axon 2 提供了对 MongoDB 的支持及性能提升

  • 2013-03-15
  • 本文字数:817 字

    阅读完需:约 3 分钟

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 篇帖子。有一篇关于真实世界中的实际经验的讨论列举了对这个框架的正面和负面的两方面评价。

查看英文原文 CQRS Framework Axon 2 Features MongoDB Support and Performance Improvements


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-15 07:042976
用户头像

发布了 428 篇内容, 共 167.2 次阅读, 收获喜欢 35 次。

关注

评论

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

Elasticsearch安装

北漂码农有话说

netty案例,netty4.1基础入门篇六《NettyServer群发消息》

小傅哥

Java Netty 小傅哥

世界很大,我想去看看

escray

学习 面试

netty案例,netty4.1基础入门篇一《嗨!NettyServer》

小傅哥

Java Netty

探测mysqldump详细过程

Simon

MySQL

PHP浮点数精度损失问题

架构精进之路

php 弱类型语言

理论 | 三天两夜,万字长文,吃透TCP/IP

简爱W

Java TCP

没有亮点的简历,要用详历来弥补

escray

学习 面试 简历

JVM-技术专题-管程技术分析

洛神灬殇

JVM 管程

Stream 流

HeGuang

Java

netty案例,netty4.1基础入门篇零《初入JavaIO之门BIO、NIO、AIO实战练习》

小傅哥

Java Netty 小傅哥

Apache常用配置指北

亻尔可真木奉

Apache 代理 跨域

Flink高可用性设置-4

小知识点

scala 大数据 flink 流计算

netty案例,netty4.1基础入门篇七《嗨!NettyClient》

小傅哥

Netty 小傅哥

netty案例,netty4.1基础入门篇八《NettyClient半包粘包处理、编码解码处理、收发数据方式》

小傅哥

Netty 小傅哥

JVM-技术专题-GCViewer调优GC

洛神灬殇

JVM

一把年龄,技术一般,怎么去面试

escray

学习 面试

LeetCode题解:11. 盛最多水的容器,for循环双指针,JavaScript,详细注释

Lee Chen

大前端 LeetCode

netty案例,netty4.1基础入门篇五《NettyServer字符串编码器》

小傅哥

Java Netty

netty案例,netty4.1基础入门篇四《NettyServer收发数据》

小傅哥

Java Netty 小傅哥

同态加密

soolaugust

学习 加密 同态加密

性能优化-技术专题-并发编程

洛神灬殇

Java 多线程

在java中使用SPI创建可扩展的应用程序

程序那些事

Java spi 可扩展程序 可扩展应用

netty案例,netty4.1基础入门篇三《NettyServer字符串解码器》

小傅哥

Java Netty 小傅哥

Golang领域模型-开篇

奔奔奔跑

微服务 后端 领域驱动设计 架构设计 Go 语言

实战 | Vue + Element UI 页面创建

简爱W

Java 架构师

netty案例,netty4.1基础入门篇二《NettyServer接收数据》

小傅哥

Java Netty 小傅哥

lower_case_table_names参数详解

Simon

MySQL

MySQL线程状态详解

Simon

MySQL 线程状态

API 中签名的使用

架构精进之路

接口安全

[租房]刚步入社会的小萌新,休想坑小妹妹,安排!

我是程序员小贱

  • 扫码加入 InfoQ 开发者交流群
CQRS框架Axon 2提供了对MongoDB的支持及性能提升_语言 & 开发_Jan Stenberg_InfoQ精选文章