LMAX简介
来源:互联网 发布:win10有线网络设置 编辑:程序博客网 时间:2024/05/17 20:26
原文作者:汤雪华
Reference URL:
http://martinfowler.com/articles/lmax.html
该架构主要基于:Disruptor + In Memory DDD + Event Sourcing
- 通过高并发框架(Disruptor)实现用户事件的输入和Domain Event的输出;
- 一个常驻内存的Business Logic Processor(DDD领域模型),它负责在纯内存中处理业务逻辑;关键点:首先确保用户输入事件被持久化到数据库,并定时创建快照,然后在内存中响应事件更改业务对象的状态;因为一切都是在内存中处理,所以没有IO,也不需要数据库事务,非常快;
- 机器down了怎么办?因为我们首先确保了业务对象的任何状态改变之前先持久化用户输入事件,所以在down机的时候通过事件回溯重新得到最新的业务对象。因为有了快照的保存,所以重建对象也非常快;
该架构的主要观点:
- 肯定了In-Memory内存模式 + 异步输入与输出事件(Disruptor) + Event Sourcing 架构,LMAX实践也验证了这个架构。这个架构降低复杂性。
- LMAX的核心是新型并发框架Disruptor,其核心是根据现代CPU硬件缓存特点发明不同于通用LinkedList或Queue的新型数据结构RingBuffer。
- 号称并发未来的Actor模型被LMAX团队验证是有瓶颈的。
- 提出新的并发模型,每个CPU一个线程,多个CPU多个线程并发模式,摒弃了锁模式。
- ORM等Hibernate没有完全解决OO的目标,关系数据库的事务也不是最后救命的稻草。LMAX用自己的事件记录的方式实现事务,这也不同于所谓内存事务STM。
- 架构师要分离关注,一是通过DDD降低业务的复杂性;二是通过技术探索创新,降低技术平台的复杂性,让程序员更多精力投入业务问题解决上。
0 0
- LMAX简介
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- LMAX架构
- The LMAX Architecture
- Learning LMAX Disruptor
- LMAX Disruptor 原理
- Lmax.distruptor RingBuffer
- LMAX架构解决大并发
- LMAX高并发系统架构
- LMAX高并发系统架构
- 并发框架LMAX Disruptor资料总汇
- mysql--外键(froeign key)
- php开发一个守护进程
- 管理工具和java操作redis
- unity手动拖拽播放视频的bug小结
- 2017ACM省赛总结
- LMAX简介
- 3.行为型模式
- 永坤电机SEO三天两夜课程学习总结
- java JDBC 通过物理连接数据库和通过获取数据库连接池进行链接
- python、pip安装
- Spring类PropertyPlaceholderConfigurer的作用(较全)
- LightOJ
- 博客开篇语
- ios