我在同一子网里有两台机器。我想尽快在这两台机器之间交换对象。它使用的是g++,它在Debian/Ubuntu上。这些机器装载在通信量和CPU中。
我相信你还有别的想法。你会怎么做才能保证2011年的最佳响应时间.我可以放弃一点点的响应时间,以获得一个标准的解决方案。
发布于 2011-05-10 18:52:25
您可以将用于序列化的Google与Boost.ASIO结合起来,以处理实际的I/O,这将在性能和实现时间之间提供很好的平衡。
发布于 2011-05-10 18:58:09
Zeromq人已经尝试使用Linux实时内核来保证低延迟。正如您所看到的,必须为这种保证牺牲大量的平均延迟。根据应用程序的不同,这可能是一种必要的权衡。
http://www.zeromq.org/results:rt-tests-v031
发布于 2011-05-10 19:23:30
当你说你想“尽可能快地在两台机器之间交换对象”时,听起来你感兴趣的是尽可能限制网络带宽。如果是这样的话,您可以考虑使用快速协议。
FAST这个缩略词的正式意思是"FIX适应于流“,这意味着它最适合FIX协议,但事实并非如此。FAST可以与任何协议一起使用。
快速编码的数据包可以非常小,一个好的实现将使用有限数量的CPU资源进行编码和解码。权衡之处在于,快速协议并不是世界上最容易被人类发现的东西,而代码要想得到正确的处理可能非常棘手。有一些开源产品实现,它们可能适合您的需要,也可能不适合您的需要。C++的此类实现之一是QuickFAST。
https://stackoverflow.com/questions/5954843
复制相似问题