Protocol Buffers vs Thrift:构建服务器/客户端的速度更快?

时间:2012-07-15 05:38:34

标签: c++ network-programming boost-asio protocol-buffers thrift

所以我们想用C ++构建一个服务器/客户端系统,我不清楚Google协议缓冲区或者thrift是否能让我们更快地获得工作原型。我们希望使用TCP套接字作为通信层,用于通过本地子网(而不是通过广泛的互联网)进行通信。它将在Linux / OS X / Windows上运行。

我们主要需要在每个方向上传递简单的异步消息,但我们将来可能需要RPC样式的响应。我们的大多数消息都很小,但有些消息的大有效载荷大约为100k-500k(如果我们不得不在IDL中调用它们,那么这些消息只会是一个大的不透明缓冲区,并附带一条消息)。

我知道我们想要它们都提供的消息描述符/编组/解组,但我不清楚最快速构建工作服务器/客户端所需的其他部分。

我是否正确地收集了用于TCP / IP套接字通信的thrift供应实现以发送和接收消息,而Protocol Buffers仅处理编组层并且对套接字一无所知?

如果情况确实如此,那么使用Protocol Buffers,您必须在其上面编写一个迷你协议,以便在消息周围包含一些页眉和/或页脚,以识别停止和下一个停止的位置作为越过套接字(如果事情比预期更长/更短,则更难以重新同步)。是否有供应这些图层的开源软件包(最好使用boost::asio)?

0 个答案:

没有答案