首页 » SEO优化 » thriftphpclient技巧_别再手写RPC了Apache Thrift帮你自动生成RPC客户端及做事端代码

thriftphpclient技巧_别再手写RPC了Apache Thrift帮你自动生成RPC客户端及做事端代码

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

Thrift 是一个轻量级、独立于措辞的软件堆栈,用于 点对点 RPC 实现。
Thrift为数据传输供应了干净的抽象和实现, 数据序列化和运用程序级处理。
代码天生 系统以大略的定义措辞为输入并天生代码 跨利用抽象堆栈构建的编程措辞 可互操作的 RPC 客户端和做事器。

Thrift支持多种不同的编程措辞,包括C++、Java、Python、PHP、Ruby等,本系列紧张讲述基于Java措辞的Thrift的配置办法和详细利用。

thriftphpclient技巧_别再手写RPC了Apache Thrift帮你自动生成RPC客户端及做事端代码

紧张分层

Thrift软件栈分层从下向上分别为:传输层(Transport Layer)、协议层(Protocol Layer)、处理层(Processor Layer)和做事层(Server Layer)。

thriftphpclient技巧_别再手写RPC了Apache Thrift帮你自动生成RPC客户端及做事端代码
(图片来自网络侵删)

传输层(Transport Layer):传输层卖力直接从网络中读取和写入数据,它定义了详细的网络传输协议;比如说TCP/IP传输等。
协议层(Protocol Layer):协议层定义了数据传输格式,卖力网络传输数据的序列化和反序列化;比如说JSON、XML、二进制数据等。
处理层(Processor Layer):处理层是由详细的IDL(接口描述措辞)天生的,封装了详细的底层网络传输和序列化办法,并委托给用户实现的Handler进行处理。
做事层(Server Layer):整合上述组件,供应详细的网络线程/IO做事模型,形成终极的做事。
Thrift的特性(一) 开拓速率快

通过编写RPC接口Thrift IDL文件,利用编译天生器自动天生做事端骨架(Skeletons)和客户端桩(Stubs)。
从而省去开拓者自定义和掩护接口编解码、传输、做事器多线程模型等根本事情。

做事端:只须要按照做事骨架即接口,编写好详细的业务处理程序(Handler)即实现类即可。
客户端:只须要拷贝IDL定义好的客户端桩和做事工具,然后就像调用本地工具的方法一样调用远端做事。

(二) 接口掩护大略

通过掩护Thrift格式的IDL(接口描述措辞)文件(把稳写好注释),即可作为给Client利用的接口文档利用,也自动天生接口代码,始终保持代码和文档的同等性。
且Thrift协议可灵巧支持接口的可扩展性。

(三) 学习本钱低

由于其来自Google Protobuf开拓团队,以是其IDL文件风格类似Google Protobuf,且更加易读易懂;特殊是RPC做事接口的风格就像写一个面向工具的Class一样大略。
初学者只需参照:thrift.apache.org/,一个多小时就可以理解Thrift IDL文件的语法利用。

(四) 多措辞/跨措辞支持

Thrift支持C++、 Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk等多种措辞,即可天生上述措辞的做事器端和客户端程序。
对付我们常常利用的Java、PHP、Python、C++支持良好,虽然对iOS环境的Objective-C(Cocoa)支持稍逊,但也完备知足我们的利用哀求。

谁在利用 Thrift

Thrift在很多开源项目中已经被验证是稳定和高效的,例如Cassandra、Hadoop、HBase等;国外在Facebook中有广泛利用,海内包括百度、美团小米、和饿了么等公司。

标签:

相关文章

QQ聊天恶搞代码技术背后的趣味与风险

人们的生活越来越离不开社交软件。在我国,QQ作为一款历史悠久、用户众多的社交平台,深受广大网民喜爱。在QQ聊天的过程中,恶搞代码的...

SEO优化 2025-03-02 阅读1 评论0

Python代码截屏技术与应用的完美融合

计算机屏幕截图已经成为人们日常生活中不可或缺的一部分。无论是分享工作成果、记录游戏瞬间,还是保存网页信息,屏幕截图都发挥着重要作用...

SEO优化 2025-03-02 阅读3 评论0

QQ无限刷礼物代码技术突破还是道德沦丧

社交平台逐渐成为人们生活中不可或缺的一部分。QQ作为我国最具影响力的社交软件之一,其丰富的功能吸引了大量用户。近期有关QQ无限刷礼...

SEO优化 2025-03-02 阅读1 评论0