LMAX 的颠覆者模式:有 C++ 的端口吗? [关闭]

Posted

技术标签:

【中文标题】LMAX 的颠覆者模式:有 C++ 的端口吗? [关闭]【英文标题】:LMAX's disruptor pattern: is there a port to C++? [closed] 【发布时间】:2011-10-20 02:10:10 【问题描述】:

LMAX 的 Disruptor 模式有开源的Java 和.NET 版本,如视频LMAX - How to Do 100K TPS at Less than 1ms Latency 中所述。这里是more links to information on the Disruptor pattern。

是否有人知道将 Disruptor pattern 移植到 C++ 的端口,无论是已完成还是处于测试阶段?

更新

显然 others are calling for a C++ version 的 Disruptor 模式。

【问题讨论】:

【参考方案1】:

是的,已经有一个功能性的 C++ 端口。见http://www.2robots.com/2011/08/13/a-c-disruptor/。

【讨论】:

项目代码移至github.com/fsaintjacques/disruptor-- 有人知道它是否在Windows下编译吗? 我尝试在 Windows 中编译,但收到了几个错误。 DISALLOW_COPY_AND_ASSIGN 是未知的宏,gettimeofday 函数仅适用于 linux。不过好像大部分代码都挺便携的,可惜这几个地方没有被"WIN32" ifdef包围……【参考方案2】:

从上面的链接(“其他人在打电话..”),cmets:

讨论即将推出的 Disruptor 模式的 C++ 端口的线程:http://groups.google.com/group/lmax-disruptor/browse_thread/thread/4a47a0a9b5837ca2

Disruptor 的 C++ 版本的性能:大约。每秒 2200 万条消息,通过批处理达到每秒 1 亿条消息,请参阅: http://mechanical-sympathy.blogspot.com/2011/08/inter-thread-latency.html

【讨论】:

可以用c#写端口吗?在这里问这个问题:***.com/questions/8097372/… C# 端口在code.google.com/p/disruptor-net可用【参考方案3】:

有一个名为 hmbdc-base.rpm 的免费版本,可以从以下位置下载:

https://bitbucket.org/hmbd/hmbdc-rel/downloads

支持CentOS 7,不依赖虚函数,亚微秒级延迟,非常快。

它还具有可靠的订阅/发布多播消息支持。

【讨论】:

以上是关于LMAX 的颠覆者模式:有 C++ 的端口吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在系统学习javaEE开发的颠覆者Springboot时遇到的localhost无法访问的问题

在类似 LMAX 的破坏者模式中,您如何处理缓慢的消费者?

装饰者模式C++实现

设计模式之装饰者模式C++实现

设计模式之装饰者模式C++实现

设计模式--建造者模式C++实现