标签:
Apache Thrift是一款服务开发框架,用户可以在软件上使用多种语言开发你的服务项目,结合编辑器就可以输入代码内容,让用户可以设计各种编程语言支持的客户端程序和服务端程序。
Apache Thrift功能:
界面描述语言-一切都在IDL文件中指定,可以从该文件生成多种语言的绑定。
语言绑定-许多语言和环境都支持Thrift
C++
C#
Cocoa
D
Delphi
Erlang
Haskell
Java
OCaml
Perl
PHP
Python
Ruby
Smalltalk
~名称空间-每个Thrift文件位于其自己的名称空间中,允许您在多个Thrift文件中使用相同的标识符
语言名称空间-每个Thrift文件,您可以指定每种编程语言应使用的名称空间
基本类型-Thrift有少量的基本类型。
常量和枚举-可以为常量值分配逻辑名称
结构-使用结构对相关数据进行分组。结构可以具有任何类型的字段。
稀疏结构-尚未设置的可选基本字段和为空的参考字段将不会通过电线发送
结构演化-通过使用字段的整数标识符来处理字段的添加和删除,而不会破坏现有的客户端
容器-您可以使用任何类型的集,列表和映射:基本类型,结构和其他容器。
类型定义-可以给任何类型一个更好地描述它的名称
服务-服务是一组功能
服务继承-子服务实现其基本服务的所有功能,并且可以具有其他功能
异步调用-可以异步调用不返回结果的函数,因此在服务器完成对请求的处理之前,不会阻塞客户端。服务器可以并行/无序执行同一客户端的异步调用
异常-如果发生错误,则函数可以引发标准或用户定义的异常
循环结构-从0.9.2版开始,Thrift支持包含自身的结构或以后要声明的其他结构。
非功能
Apache Thrift不支持以下功能:
struct继承-改用struct组合
多态-由于没有继承,因此也不支持多态
重载-服务中的所有方法都必须唯一地命名
异构容器-容器中的所有物品都必须是同一类型
空返回-无法直接从函数返回空。使用包装器结构或标记值代替
Apache Thrift是一个软件项目,涉及多种编程语言和用例。我们的目标是使跨语言的可靠,高性能的通信和数据序列化尽可能高效和无缝。Thrift于2007年4月开源,并于2008年5月进入Apache孵化器。Thrift于2010年10月成为Apache TLP。
Apache Thrift旨在体现以下价值观:
简单性 Thrift代码简单易用,没有不必要的依赖关系。
透明 节俭符合所有语言中最常见的习惯用法。
一致性 生态位,特定于语言的功能属于扩展,而不是核心库。
性能 力争性能第一,优雅第二。
1、节俭的类型
Thrift类型系统旨在使程序员无论使用哪种编程语言,都可以尽可能多地使用本机类型。此信息基于并且取代了Thrift白皮书中的信息。的节俭IDL提供了用于产生针对每个目标语言代码的类型的描述。
2、基本类型
选择基本类型的目的是简化和清楚而不是数量众多,重点放在所有编程语言中可用的键类型上。
bool:布尔值(对或错)
字节:8位有符号整数
i16:16位有符号整数
i32:32位有符号整数
i64:64位有符号整数
double:64位浮点数
字符串:使用UTF-8编码编码的文本字符串
3、结构
节俭结构定义了一个公共对象–它们本质上等同于OOP语言中的类,但没有继承。一个结构具有一组强类型字段,每个字段都有一个唯一的名称标识符。字段可能具有Thrift IDL中描述的各种注释(数字字段ID,可选的默认值等) 。
4、容器
节俭容器是强类型的容器,它们映射到大多数编程语言中的常用容器和常用容器类型。
共有三种容器类型:
列表:元素的有序列表。转换为STL向量,Java ArrayList,脚本语言的本机数组等。
放:无序的唯一元素集。转换为STL集,Java HashSet,Python中的集等。注意:PHP不支持集,因此与List相似。
map :严格唯一的键到值的映射。转换为STL映射,Java HashMap,PHP关联数组,Python / Ruby字典等。尽管提供了默认值,但类型映射未明确固定。添加了自定义代码生成器指令,以允许以各种目标语言替换自定义类型。
1:该下载地址为九点软件园本地下载地址,Apache Thrift下载包预览图如下:
2:下载包的正确包名:thrift-0.14.1_9a9m.com.zip
e4a破解版下载-易安卓E4A(含破解补丁) V6.9破解版下载446M2679人在玩易安卓E4A是九点小编为大家推荐的一款非常好用并基于谷歌Simple语言、专为安卓系统开发应用打造的编程辅助工具软件,让安卓开发无限简单,可以说是安卓版本的易语言程序。
下载火山编程破解版下载-火山软件开发平台 V2.0绿色破解版下载1.2GB1769人在玩火山软件开发平台是九点小编为编程开发用户分享的全新专业且深受诸多用户们喜爱的软件开发编程工具应用,是一种目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台,有着极高流畅度的专业型迅速软件软件开发平台
下载易语言5.9破解版下载-易语言 V5.9完美破解版下载313.71MB1049人在玩易语言是九点小编为大家推荐的一款转为国人而设计的编程软件,由大连大有吴涛易语言软件开发有限公司推出,通过对易语言的学习,即便用户的英语水平不够好也能够轻松进行编程操作,让那些想编程且又不会英文的朋友们,提供了一条快速进入Windows程序编程的大门,支持基于汉语字、词编程的、全可视化的、跨主流操作系统平台的编程工具。
下载appinventor下载-App Inventor安卓编程软件V2023最新版下载310M1007人在玩App Inventor是九点小编为程序员们推荐的一种基于Web的开发环境,用于创建Android应用程序。它是由麻省理工学院(MIT)开发的,旨在使移动应用程序开发变得更加易于学习和使用。
下载米思齐编程软件下载-Mixly(米思齐图形化编程工具) v2.0 RC4官方版下载263.2M737人在玩Mixly For Arduino(米思齐图形化编程工具)windows版,基于Google的Blockly图形化编程框架开发,目的是为了配合Arduino UNO开发板套件使用,实现Arduino程序的图像化编程,Mixly自带Java8运行环境,用户直接双击mixly.vbs即可使用。
下载oracle 客户端下载-Oracle 11G客户端(32/64位) v11.2.0.4.0免费版下载1.95G555人在玩oracle11g客户端 是从 Oralce 11gR2 的官方客户端安装包中而来的 Oracle 数据库客户端,专为企业设计,轻松运行大量数据库除了可以连接远程数据库以外,还包含 SQL Plus、JDBC Driver、ODBC Driver、Pro*C SDK、Net Configuration Assistant、Net Manager 等。
下载navicat15破解版下载-Navicat 15 绿色版下载115MB500人在玩Navicat 15是九点小编为大家推荐的一款功能强大的数据库管理软件,软件采用可视化操作方式,无需任何代码即可轻松完成数据库的增删改查、备份等操作,可以帮助用户更好的管理数据库。
下载jdk1.832位下载-Java jdk1.8(32/64)官方版下载340M483人在玩Java JDK是九点小编为大家推荐的一款适用于开发人员必备的一款环境开发软件,这款软件用于构建应用程序、applet程序以及java编程语言的组成部分。九点软件园为大家带来的是JDK1.8版本,下面为大家分享一下安装方法以及下载地址吧!
下载access2007官方下载-Access2007绿色独立版下载44MB406人在玩Access2007绿色独立版是九点小编为大家分享的一款从office软件包中提取出来的独立版的数据库软件,使用办公软件套件,可以方便用户在电脑中读取使用数据库,欢迎有需要的用户前来九点软件园分享的地址来获取这款Access2007绿色独立版,希望大家会喜欢!
下载jdk-8u201-windows-x64.exe下载-jdk-8u121-windows-x64(java se开发工具包) 下载194MB330人在玩jdk-8u121-windows-x64 ,最新的JDK 8u121 发布了,Java SE 8u121包括重要的安全修复。Oracle强烈建议所有Java SE 8用户升级到此版本,JDK 8u121包含 2016i 版本的IANA时区数据,还包含一些安全问题的修复,有需要的赶快下载吧!
下载