跳至主要內容
Thrift 网络模型 (java)

从驱动形式上,Thrift 提供的网络服务模型分为:单线程、多线程、时间驱动。

从另一个角度分为:阻塞服务模型、非阻塞服务模型。

  • 阻塞服务模型: TSimpleServer, TThreadPoolServer
  • 非阻塞服务模型: TNonblockingServer, THsHaServer, TThreadedSelectorServer

下面以 Java 开发的角度分析各种网络服务模型的使用场景、性能情况。


Steven大约 5 分钟thrift
IDL 语法

Thrift 是一个典型的 CS(客户端/服务端) 结构,客户端和服务端可以使用不同的语言开发,通过 IDL(Interface Description Language) 作为中间语言来关联客户端和服务端的语言。

Thrift 采用 IDL(Interface Description Language) 来定义通用的服务接口,然后通过 Thrift 提供的编译器,将服务接口编译成不同语言编写的代码,通过这个方式来实现跨语言的功能。


Steven大约 2 分钟thrift
Thrift 介绍

Thrift 是一个轻量级、跨语言的 RPC(Remote Procedure Call,远程过程调用) 框架,主要用于各个服务之间的 RPC 通信。

Thrift 已经在很多开源项目中被验证时稳定和高效的,例如:Cassandra, Hadoop, HBase 等。公司级的应用有 Facebook, 百度, 小米, 美团, 饿了么等。


Steven大约 2 分钟thrift