繁体   English   中英

Java Disruptor模式和低延迟

[英]Java Disruptor pattern and low latency

Q1)熟悉Java Disruptor模式的人是否知道他们对结果进行基准测试的消息大小? 我正在编写一个类似的系统(出于纯粹的兴趣),当我阅读他们的测试描述时,没有提到发送的消息大小?

http://code.google.com/p/disruptor/wiki/PerformanceResults

Q2)是计算机与计算机通信或进程间的破坏者吗? 我最初的印象是计算机到计算机,但他们的工作被标记为“inter thread”消息库?

Disruptor不仅仅在同一台机器内,它只需要一个进程。 当他们说“线程间”时,它们意味着它用于在一个进程的线程之间发送消息。

消息大小实际上几乎无关紧要,因为消息不会被复制。 消息在开始时都是固定的并且可以重复使用,所以它们的大小并不重要。

虽然我不完全熟悉,只是探索它...

1)从src中的perf测试文件夹看起来它们正在使用ValueEvent类, 它只包含一个long,还有一些其他的xxxEvent类在其他性能测试中使用稍微大一点但是我可以到目前为止,在环形缓冲区内只使用了很长的时间。

2)我认为这是完全相同的机器间线程通信。 跨机器的通信的延迟和不确定性会使它非常慢。 (相对)然后该项目还需要处理套接字通信,我在这个库中没有看到。

1,Disruptor不关心消息的大小。 但结果应该根据消息的大小线性下降(工作量增加,速度下降)

在行动中,它并不关心这个消息。

库的KEY是缓冲区的ID 指针,位置,光标,指示器,都意味着相同。 Disruptor自称为“ 序列

一旦身份证拿到,整个世界只归你所有!:)所以只有一个作家 真正的关键点。:)

2,不是C2C,也不是P2P :)。 只是T2T。 T是线程。 peter-lawrey有一个很棒的Java-Chronicle库 ,可以用于P2P案例。 关于java dzone的新文章: http ://java.dzone.com/articles/ultra-fast-reliable-messaging

3,核心模式应该能够克隆到跨界用例。 每件事都是身份证。 至于信息,定制化。

4,另一个重点,就是volatile缓存 github上的一个很好的例子

5,JDK8介绍一个新的注释@Contended ,看起来很性感。 有关竞争的细节

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM