最新文章列表

disruptor使用示例

LMAX 开源了一个高性能并发编程框架。可以理解为消费者-生产者的消息发布订阅模式。本文下载了官方示例代码,进行实验。 longEvent事件数据   public ...
wh0426 评论(1) 有7604人浏览 2015-05-15 19:28

并发框架Disruptor几个Demo

        经过2个月的疯狂加班后终于迎来了五一节前的几天清闲日子,在这闲得蛋疼的日子里,本屌丝无意中从ifeve上看到“Disruptor”并发框架,它号称"能够在一个线程里每秒处理6百万订单" 当时就被它吸引住了,不管是不是在吹流逼吧,先研究研究在说....   扫盲: 要想了解Disruptor框架必需多花点时间研究下它的工作原理,不然代码是没法撸的!!! ...
xsh5324 评论(6) 有37722人浏览 2014-04-30 17:27

剖析Disruptor:为什么会这么快?(一)锁的缺点(转)

 “Disruptor究竟是什么?"。 目前我正准备在回答这个问题,但首先回答"为什么它会这么快?" 这些问题持续出现,但是我不能没有说它是干什么的就说它为什么会这么快,不能没有说它为什么这样做就说它是什么东西。 所以我陷入了一个僵局,一个如何写博客的僵局。 要打破这个僵局,我准备以最简单方式回答第一个问题,如果幸运的话,在以后博文里,如果需要解释的话我会重新提回:Disruptor提供 ...
wbj0110 评论(0) 有943人浏览 2014-01-04 16:58

剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充(转)

我们经常提到一个短语Mechanical Sympathy,这个短语也是Martin博客的标题(译注:Martin Thompson),Mechanical Sympathy讲的是底层硬件是如何运作的,以及与其协作而非相悖的编程方式。 (译注:Martin Thompson很喜欢用Mechanical Sympathy这个短语,这个短语源于赛车驾驶,它反映了驾驶员对于汽车有一种天生的感觉,所以 ...
wbj0110 评论(0) 有769人浏览 2014-01-04 16:57

剖析Disruptor:为什么会这么快?(三)伪共享(转)

原文地址:http://ifeve.com/false-sharing/ 缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。缓存行上的写竞争是运行在SMP系统中并行线程实现可伸缩性最重要的限制因素。有 ...
wbj0110 评论(0) 有884人浏览 2014-01-04 16:56

剖析Disruptor:为什么会这么快?(三)揭秘内存屏障(转)

主题是什么? 我写这个系列的博客主要目的是解析Disruptor是如何工作的,并深入了解下为什么这样工作。理论上,我应该从可能准备使用disruptor的开发人员的角度来写,以便在代码和技术论文[Disruptor-1.0.pdf]之间搭建一座桥梁。这篇文章提及到了内存屏障,我想弄清楚它们到底是什么,以及它们是如何应用于实践中的。 什么是内存屏障? 它是一个CPU指令。没错,又一次,我们在 ...
wbj0110 评论(0) 有908人浏览 2014-01-04 16:55

剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处(转)

最近,我们开源了LMAX Disruptor,它是我们的交易系统吞吐量快(LMAX是一个新型的交易平台,号称能够单线程每秒处理数百万的订单)的关键原因。为什 ...
wbj0110 评论(0) 有914人浏览 2014-01-03 09:31

如何使用Disruptor(二)如何从Ringbuffer读取(转)

ConsumerBarrier与消费者 这里我要稍微反过来介绍,因为总的来说读取数据这一过程比写数据要容易理解。假设通过一些“魔法”已经把数据写入到Ring Buffer了,怎样从Ring Buffer读出这些数据呢? (好,我开始后悔使用Paint/Gimp 了。尽管这是个购买绘图板的好借口,如果我继续写下去的话… UML界的权威们大概也在诅咒我的名字了。) 消费者( ...
wbj0110 评论(0) 有897人浏览 2014-01-03 09:31

如何使用 Disruptor(三)写入 Ringbuffer(转)

本文的 重点 是:不要让 Ring 重叠;如何通知消费者;生产者一端的批处理;以及多个生产者如何协同工作。 ProducerBarriers Disruptor 代码​ 给 消费者 提供了一些接口和辅助类,但是没有给写入 Ring Buffer 的 生产者 提供接口。这是因为除了你需要知道生产者之外,没有别人需要访问它。尽管如此,Ring Buffer 还是与消费端一样提供了一个 Produ ...
wbj0110 评论(0) 有911人浏览 2014-01-03 09:27

Disruptor(无锁并发框架)-发布(转)

假如你生活在另外一个星球,我们最近开源了一套高性能的基于消息传递的开源框架。 下面我给大家介绍一下如何将消息通过Ring buffer在无锁的情况下进行处理。 在深入介绍之前,可以先快速阅读一下Trish发表的文章,该文章介绍了ring buffer和其工作原理。   这篇文章的要点如下: 1.ring buffer是由一个大数组组成的。 2.所有ring buffer的“指针”(也 ...
wbj0110 评论(0) 有812人浏览 2014-01-03 09:26

LMAX Disruptor——一个高性能、低延迟且简单的框架(转)

Disruptor是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列,并且它是让LMAX Exchange跑的如此之快的一个关键创新。关于什么是Disruptor、为何它很重要以及它的工作原理方面的信息都呈爆炸性增长 —— 这些文章很适合开始学习Disruptor,还可跟着LMAX BLOG深入学习。这里还有一份更详细的白皮书。   虽然disruptor模式使用起来很简单,但是 ...
wbj0110 评论(0) 有1301人浏览 2014-01-03 09:25

Disruptor3.2官方例子测试

事件对象: /** * POJO * @author lenovoe * */ public class ValueEvent { private long value;     public long getValue()     {         return value;     }     public void setValue(final long value)     { ...
yanbingwei 评论(0) 有1310人浏览 2013-12-05 17:25

disruptor基本使用与实战

今天又忙里偷闲,看了下jdon框架,忍不住clone了代码,细细看了下aysnc部分的代码,主要是对disruptor的一个实践,和手中一个公司的项目部分代码很相似,看来得去看看disruptor官方提供的Test部分代码了,提供了样本吧,且不计较,大家也可以去看看。         看看这里的编码方式,看起来比较舒服。   这里引用别的同学的一段总结    RingB ...
xylong 评论(0) 有2013人浏览 2013-12-05 14:47

转一份阐述如何从架构上优化的邮件

慢在哪里:写Redis 写HBase 线程切换等 优化思路:无法提高Redis和HBase的写入速度,那么就减少写入量吧;减少写入量的办法:1,减少冗余写入,2,延长缓存时间。减少线程切换,尽量批量提交。   1,减少冗余数据写入: 目前的逻辑:缓存一分钟的数据然后定时刷入Redis或者HBase。问题是:各台机器会缓存相同的商品,导致同一个商品在一分钟内被写入了多次。 机器越多,冗余越 ...
xylong 评论(0) 有1070人浏览 2013-11-04 16:58

高并发框架disruptor简单测试

Java中并发无外乎多线程加锁等方式,平时用的比较多的就是util.concurrency下的一些工具。除此之外业界比较推崇的就是erlang、scala中较为流行的actor模型,该模型是著名的无锁模型,actor(可以简单认为是轻量线程)之间通过发送消息进行通信,由事件驱动,全程无锁。 最近看论坛发现了另外一个并发模型-disruptor。它比较特殊,其核心是ringbuffer,闲来无事 ...
shenbai 评论(2) 有2575人浏览 2013-06-22 22:48

disruptor

http://coolshell.cn/articles/9169.html
hsbcnet 评论(0) 有653人浏览 2013-06-20 05:33

disruptor3.x 简单例子

这个是最新的 disruptor3的例子....来自官方代码稍微简化后的     package io.grass.core.collect; import static com.lmax.disruptor.RingBuffer.createSingleProducer; import java.util.concurrent.CountDownLatch; import ...
zuoge85 评论(2) 有8086人浏览 2013-05-03 14:53

Disruptor全部译文

转载自:http://coolshell.cn/articles/9169.html   Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务 ...
fantasy 评论(0) 有1934人浏览 2013-02-27 09:55

Disruptor 2.0 - 所有的改变

这是 Trisha Gee 发表的 Disruptor 全解析系列博客的后续补充,原文链接是:http://mechanitis.blogspot.com/2011/08/disruptor-20-all-change-please.html​   Martin 最近公布了 Disruptor​ 的 2.0 版本​ —— 基本上,2.0 版自我们第一次开源以来有了如此多的改变,是需要把这些改 ...
in355hz 评论(1) 有2218人浏览 2013-02-20 15:17

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics