数仓工具—Hive源码之扩展篇Thrift(5)
2023-09-11 14:15:37 时间
Thrift
后面我们要介绍Hive 源码会涉及到关于Thrift 框架的一些东西,所以这里我们先介绍一下Thrift,是Facebook公布的一款开源跨语言的RPC框架,最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器,现在是 Apache 基金会的顶级项目,著名的 Key-Value 存储服务器 Cassandra 就是使用 Thrift 作为其客户端API的。
RPC全称为Remote Procedure Call,意为远程过程调用.
假设有两台服务器A,B.A服务器上部署着一个应用a,B服务器上部署着一个应用b,现在a希望能够调用b应用的某个函数(方法),但是二者不在同一个进程内,不能直接调用,就需要通过网络传输,在AB服务器之间建一条网络传输通道,a把参数传过去,b接收到参数调用自己的方法,得到结果,再通过网络传回给a,简单讲就是A通过网络来调用B的过程.这个过程要涉及的东西很多,比如多线程,Socket,序列化反序列化,网络I/O,很复杂,于是牛掰的程序员把这些封装起来做成一套框架,供大家使用,就是RPC框架
Thrift 是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引 擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。
thrift支持数据(对象)序列化和多种类型的RPC服务,它提供了一套解决方案,可以解决各系统间大数据量的传输通信以及系
相关文章
- 【IOS-COCOS2D游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧(指定开始帧)以及扩展COCOS2D源码的CCANIMATION简化动画创建!
- 《设计模式之禅》--备忘录扩展:多状态的备忘录
- VMware ESXi Windows虚拟机磁盘扩展小结
- 17+个ASP.NET MVC扩展点,含源码{转}
- Spring读源码系列07----容器扩展功能--中
- 如何在SAP Business by design的UI上扩展新的按钮
- docker-php安装amqp扩展
- docker容器里面安装php的redis扩展
- Eureka的REST API及API扩展
- Iptables 扩展模块 string|time 模块
- Win10 计算机扩展显示器闪黑屏