7

我们使用 Apache Thrift 在两个系统之间交换消息。在其中一条消息中,我们正在交换一个可能会变得很大的列表 (c++)。您能否让我知道我们可以使用 Apache Thrift 交换的最大消息大小是多少?

4

1 回答 1

5

没有定义的“本身”限制(至少我知道没有)。这主要取决于数据在内存中的保存方式、服务器上的负载以及可用资源的数量。在大多数情况下,连续的内存块 (RAM) 很可能会成为最稀缺的资源,因此我们应该关注这一点。

数据如何保存在内存中”指的是为了更好的吞吐量,一些传输(缓冲的,成帧的)倾向于分配比其他传输更多的内存和更大的块。根据语言的实现,这个过程可能在内存成本方面或多或少地实现。

如果您真的打算传输大块数据,您还应该查看其他选项,例如

  • 将数据分块成块
  • 通过服务仅发送/返回 URL 或 LAN 共享,而不是整个数据
于 2014-10-02T22:30:37.457 回答