随笔分类 -  无锁并行计算框架

无锁并行框架多生产者多消费者模型
摘要:下面看一下多生产多消费者的模式,下面的代码是模拟100个生产者,每个生产者生产100个事件,然后有3个消费者,同时进行消费,共消费1W个事件, 下面看一下代码: 这边new出了3个消费者,并把消费者数组放入workPool这个消息队列中,然后在RingBuffer中获取事件,进行消费: 看一下eve 阅读全文
posted @ 2017-03-13 17:06 小~虎 阅读(420) 评论(0) 推荐(0)
无锁并行框架构建复杂消费模型
摘要:复杂场景下使用RingBuffer(P1生产的数据给C1、C2并行执行,最后C1、C2执行结束后C3执行) 这是一种菱形操作 顺序执行操作,这个操作比较简单,(P1生产的数据给C1,C1执行完成后,给C2) 六边形执行操作,这个操作比较复杂,(P1生产的数据给C1A,C2A,这两个执行完成后,分别丢 阅读全文
posted @ 2017-03-09 19:53 小~虎 阅读(209) 评论(0) 推荐(0)
Disruptor框架EventProcessor和Workpool的使用
摘要:场景使用: 在HelloWorld的实例中,我们创建Disruptor实例,然后调用getRingBuffer方法去获取RingBuffer,其实在很多时候,我们可以直接使用RingBuffer,以及其他的API操作,看一下示例: 使用EventProcessor消息处理器; 使用WorkerPoo 阅读全文
posted @ 2017-03-09 19:14 小~虎 阅读(757) 评论(0) 推荐(0)
Disruptor底层实现讲解与RingBuffer数据结构讲解
摘要:Disruptor术语 RingBuffer:被看作Disruptor最主要的组件,然而从2.0开始RingBuffer仅仅负责存储和更新在Disruptor中流通的数据。对一些特殊的使用场景能够被用户(使用其他数据结构)完全替代。 Sequence:Disruptor使用Sequence来表示一个 阅读全文
posted @ 2017-03-07 20:05 小~虎 阅读(679) 评论(0) 推荐(0)
Disruptor并发框架简介
摘要:Martin Fowler在自己网站上写一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金额交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业 阅读全文
posted @ 2017-03-07 16:54 小~虎 阅读(378) 评论(0) 推荐(0)