语言与特性矩阵

师成师成· 更新于 2026-09-28· 阅读 14 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Apache Thrift 语言支持

指导版本:0.22.0 | 0.21.0 | 0.20.0 | 0.19.0 | 0.18.0 | 0.17.0 | 0.16.0 | 0.15.0 | 0.14.0 | 0.13.0 | 0.12.0 | 0.11.0

Thrift 支持多种编程语言,并拥有一套令人印象深刻的测试套件,涵盖了大多数语言、协议和传输方式。每次构建都会对成千上万种可能的组合进行测试。每种语言通常都有最低版本要求以及支持库——有些是必需的,有些是可选的。下面提供的信息将帮助你评估 Apache Thrift 是否能用于你的项目。显然,维护这样一个复杂的对照表并非易事,某些内容也可能不完全正确——如果你发现了错误,请通过邮件列表告知开发者,或者更好的方式是在 GitHub 上编辑。

Apache Thrift 目前使用两套构建系统。autoconf 构建系统最为完整,可以构建所有受支持的语言,但它不支持 Windows。cmake 构建系统可在 Linux 和 Windows 上运行,已被项目指定用于取代 autoconf,不过这一过渡将需要相当长的时间才能完成。在过渡期间,cmake 构建将无法支持所有语言。

语言/库版本级别表示 Apache Thrift 在持续集成环境(Appveyor、Travis)中使用的最低和最高版本。每种语言可能还支持其他版本级别,只是测试不够充分;详情请查看各 lib 目录中的 README 文件。注意:虽然某种语言可能包含对协议、传输方式和服务器的支持,但在整体构建过程中对它们各自的测试程度各不相同。该项目最终的集成测试称为“cross”测试,它会执行一个测试矩阵,让客户端与服务器跨语言进行通信。

Thrift 的核心传输方式(所有语言均支持)是 TSocket。Thrift 的核心协议是 TBinary,除 JavaScript 外的所有语言均支持它。

LanguageSinceBuild SystemsLang/Lib Levels (Tested)Field typesLow-Level TransportsTransport WrappersProtocolsServersOpen Issues
autoconfcmakeMinMaxUuidDomainFileMemoryPipeSocketTLSFramedHeaderhttpzlibBinaryCompactJSONMultiplexForkingNonblockingSimpleThreadedThreadPool
C (glib)0.6.0YesYes2.48.22.56.4YesYesYesYesYesYesYesYesYesYesC (glib)
C++0.2.0YesYesC++11YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesC++

| Common LISP | 0.12.0 | Yes | | SBCL 1.4.x | SBCL 1.5.3 | | | Yes | | | Yes | | ![Yes


评论

登录后参与评论

正在加载评论…