0

我计划使用 Apache Thrift 来监控本地更改的任何更改并将该数据推送到客户端(更改的数据)。

当我检查节俭文档时,我看到了多个传输层,但不明白我应该使用哪个传输层

http://thrift-tutorial.readthedocs.io/en/latest/thrift-stack.html

Tranport Layer
The transport layer is responsible for reading from and writing to the wire. Thrift supports the following:

TSocket - Uses blocking socket I/O for transport.
TFramedTransport - Sends data in frames, where each frame is preceded by a length. This transport is required when using a non-blocking server.
TFileTransport - This transport writes to a file. While this transport is not included with the Java implementation, it should be simple enough to implement.
TMemoryTransport - Uses memory for I/O. The Java implementation uses a simple ByteArrayOutputStream internally.
TZlibTransport - Performs compression using zlib. Used in conjunction with another transport. Not available in the Java implementation.
4

1 回答 1

0

有两种运输方式:

  • 端点传输
  • 分层传输

前者是您需要(其中之一)在网络中写入和读取数据的那些。例如,这可能是一个 TSocket。

后者是另外使用的,在某些情况下甚至组合使用。例如,TFramedTransport 为数据添加了一个特殊的层,以提高内存分配和 I/O 的效率。zlib 传输可用于压缩数据。

一个例子可能是:

+------------------------------------+
|  Application code                  |
+------------------------------------+
|  TBinaryProtocol                   |
+------------------------------------+
|  TZLibTransport                    |
+------------------------------------+
|  TFramedTransport                  |
+------------------------------------+
|  TSocket transport                 |
+------------------------------------+

另一个根本没有分层传输:

+------------------------------------+
|  Application code                  |
+------------------------------------+
|  TBinaryProtocol                   |
+------------------------------------+
|  TSocket transport                 |
+------------------------------------+

PS:您链接的不是官方文档,这是一些第三方设置的,Apache Thrift项目对该网站的质量没有影响。

强烈推荐兰迪·阿伯内西即将出版的曼宁书。他是一个节俭的提交者,这本书提供了宝贵的见解。不,我没有得到任何推荐它的东西。

于 2017-10-08T00:58:34.363 回答