Thrift

特性:

  • 跨语言:支持多种语言之间的RPC调用
  • 开发速度快:Thrift提供了完整的RPC调用组件,支持多种网络通信模型。开发者仅仅需要使用IDL完成接口的定义即可。
  • 学习成本低:IDL语法简单,很容易学习
  • 稳定:在很多开源项目和大型互联网公司中广泛使用。

软件架构:

image.png
  • Transport:定义了TCP/Http协议,提供了阻塞IO非阻塞IO
  • TProtocal:简单来说负责编解码、提供了二进制、json、压缩格式的编解码
  • Processor:将请求委托给对应的业务代码处理(服务端)
  • Server:整合上述组件,提供了几种网络通信模型(单线程、多线程、事件驱动)

支持的数据类型:

由于是跨语言的应用,因此需要面向大部分语言都有的数据类型,难以支持一些带有语言特性的数据类型

  • 基本数据类型:
    • bool
    • byte:8位有符号整数
    • i16
    • i32
    • i64
    • double:64位浮点数
    • string:utf8编码的字符串
    • binary:二进制串
  • 结构体类型:
    • struct:定义的结构体对象
  • 容器类型:
    • list:有序元素
    • set:无序无重复的集合
    • map:键值对
  • 异常类型:
    • exception
  • 服务类型:
    • serivce:提供服务的类,内部维护了服务的接口。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇