首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RPC、套接字和性能注意事项

RPC、套接字和性能注意事项
EN

Stack Overflow用户
提问于 2011-05-10 18:46:21
回答 3查看 1.2K关注 0票数 2

我在同一子网里有两台机器。我想尽快在这两台机器之间交换对象。它使用的是g++,它在Debian/Ubuntu上。这些机器装载在通信量和CPU中。

  • 一种方法是以二进制数据包的形式通过套接字发送对象的压缩序列化(使用Google协议缓冲区对ex进行编码)。
  • CORBA在这方面似乎太过分了
  • 我读了一些关于ONC-RPC和Sun RPC的文章。
  • Boost有一个有效的库吗?

我相信你还有别的想法。你会怎么做才能保证2011年的最佳响应时间.我可以放弃一点点的响应时间,以获得一个标准的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-10 18:52:25

您可以将用于序列化的Google与Boost.ASIO结合起来,以处理实际的I/O,这将在性能和实现时间之间提供很好的平衡。

票数 1
EN

Stack Overflow用户

发布于 2011-05-10 18:58:09

Zeromq人已经尝试使用Linux实时内核来保证低延迟。正如您所看到的,必须为这种保证牺牲大量的平均延迟。根据应用程序的不同,这可能是一种必要的权衡。

http://www.zeromq.org/results:rt-tests-v031

票数 1
EN

Stack Overflow用户

发布于 2011-05-10 19:23:30

当你说你想“尽可能快地在两台机器之间交换对象”时,听起来你感兴趣的是尽可能限制网络带宽。如果是这样的话,您可以考虑使用快速协议

FAST这个缩略词的正式意思是"FIX适应于流“,这意味着它最适合FIX协议,但事实并非如此。FAST可以与任何协议一起使用。

快速编码的数据包可以非常小,一个好的实现将使用有限数量的CPU资源进行编码和解码。权衡之处在于,快速协议并不是世界上最容易被人类发现的东西,而代码要想得到正确的处理可能非常棘手。有一些开源产品实现,它们可能适合您的需要,也可能不适合您的需要。C++的此类实现之一是QuickFAST

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

https://stackoverflow.com/questions/5954843

复制
相关文章

相似问题

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