LMAX架构简介

简介:

 

Reference URL:
http://martinfowler.com/articles/lmax.html
 
该架构主要基于:Disruptor + In Memory DDD + Event Sourcing
  1. 通过高并发框架(Disruptor)实现用户事件的输入和Domain Event的输出;
  2. 一个常驻内存的Business Logic Processor(DDD领域模型),它负责在纯内存中处理业务逻辑;关键点:首先确保用户输入事件被持久化到数据库,并定时创建快照,然后在内存中响应事件更改业务对象的状态;因为一切都是在内存中处理,所以没有IO,也不需要数据库事务,非常快;
  3. 机器down了怎么办?因为我们首先确保了业务对象的任何状态改变之前先持久化用户输入事件,所以在down机的时候通过事件回溯重新得到最新的业务对象。因为有了快照的保存,所以重建对象也非常快;
 
该架构的主要观点:
  1. 肯定了In-Memory内存模式 + 异步输入与输出事件(Disruptor) + Event Sourcing 架构,LMAX实践也验证了这个架构。这个架构降低复杂性。
  2. LMAX的核心是新型并发框架Disruptor,其核心是根据现代CPU硬件缓存特点发明不同于通用LinkedList或Queue的新型数据结构RingBuffer。
  3. 号称并发未来的Actor模型被LMAX团队验证是有瓶颈的。
  4. 提出新的并发模型,每个CPU一个线程,多个CPU多个线程并发模式,摒弃了锁模式。
  5. ORM等Hibernate没有完全解决OO的目标,关系数据库的事务也不是最后救命的稻草。LMAX用自己的事件记录的方式实现事务,这也不同于所谓内存事务STM。
  6. 架构师要分离关注,一是通过DDD降低业务的复杂性;二是通过技术探索创新,降低技术平台的复杂性,让程序员更多精力投入业务问题解决上。
目录
相关文章
|
4月前
|
存储 并行计算 安全
我们自己的芯片指令集架构——龙芯架构简介
我们自己的芯片指令集架构——龙芯架构简介
368 6
|
4月前
|
Web App开发 JavaScript 前端开发
【热门话题】WebKit架构简介
WebKit,开源浏览器引擎,支撑Safari、Chrome等,以其高效、稳定和跨平台特性著称。文章介绍了WebKit的起源、模块化设计,重点讲解了WebCore的DOM、CSSOM、Render Tree、布局、绘图与合成,以及JavaScriptCore的解析、编译和垃圾回收。WebKit2的多进程架构提升了稳定性和安全性。理解WebKit有助于优化网页性能和参与社区贡献。
54 0
|
存储 人工智能 Serverless
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
|
11月前
|
监控 负载均衡 测试技术
服务网格简介:探索现代微服务架构中的服务网格概念和价值
服务网格简介:探索现代微服务架构中的服务网格概念和价值
267 0
|
3月前
|
存储 消息中间件 数据库
分布式系统详解--架构简介(微服务)
分布式系统详解--架构简介(微服务)
59 0
|
4月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
151 1
|
4月前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
1407 0
|
4月前
|
存储 消息中间件 API
|
存储 负载均衡 应用服务中间件
单机架构与主从架构简介
单机架构与主从架构简介
101 0
|
4月前
|
边缘计算 Kubernetes 物联网
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介

热门文章

最新文章