首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Disruptor模式和低延迟

Java Disruptor模式和低延迟
EN

Stack Overflow用户
提问于 2012-04-18 05:39:16
回答 3查看 2.7K关注 0票数 2

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

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

Q2)是计算机间通信的中断者,还是进程间通信的中断者?我最初的印象是计算机到计算机,但他们的工作被贴上了“线程间”消息库的标签?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-18 20:13:32

Disruptor不只是在同一台机器上,它只有一个进程。当他们说“线程间”时,他们的意思是它是为了在一个进程的线程之间发送消息。

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

票数 10
EN

Stack Overflow用户

发布于 2012-04-18 20:09:08

虽然我并不完全熟悉,但我只是在探索它。

1)从src中的perf测试文件夹看起来,它们使用的是ValueEvent类,它只包含一个长整型,还有一些其他xxxEvent类,用于其他性能测试,稍大一些,但根据我目前收集的信息,在环形缓冲区中只使用了一个长整型。

2)我假设它是针对完全相同的机器线程间通信的。跨机器通信的延迟和不确定性将使其变得极其缓慢。(相对而言)然后该项目还需要处理套接字通信,这是我在这个库中没有看到的。

票数 1
EN

Stack Overflow用户

发布于 2013-06-13 20:26:03

1、Disruptor不关心消息的大小。但是结果应该随着消息的大小而线性下降(工作量增加,速度降低)

事实上,它并不关心信息。

库的密钥是buffer的ID。指针、位置、光标、指示器,它们的意思都是一样的。Disruptor self称之为"sequence

一旦ID拿到了,整个世界只属于你!:)所以只有一个写手。真正的关键点。:)

2,不是C2C,也不是P2P:)。只有T2T。T是线程。 peter-lawrey have a great library Java-Chronicle,可以在P2P情况下使用。关于java dzone的新文章:http://java.dzone.com/articles/ultra-fast-reliable-messaging

3,核心模式应该能够克隆到跨边界用例。每件事都是ID。至于消息,是定制化的。

4,另一个重要的点,是易失性的缓存。a great example on github

5,JDK8引入了一个新的注解@Contended,看起来很性感。details about contended

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10199582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档