Apache Thrift是服务开发框架。用户可以在软件中使用多种语言开发你的服务项目,可以结合编辑器输入代码内容,这样用户就可以设计出各种编程语言支持的客户端程序和服务器程序。
功能介绍
Apache Thrift功能:
接口描述语言——一切都在IDL文件中指定,从中可以生成多种语言的绑定。
语言绑定——许多语言和环境都支持Thrift
C++
C#
可可粉
D
德尔斐
占线小时
哈斯克尔
Java 语言(一种计算机语言,尤用于创建网站)
OCaml
Perl语言
服务器端编程语言(Professional Hypertext Preprocessor的缩写)
计算机编程语言
红宝石
闲聊
~ Namespace——每个Thrift文件都位于自己的名称空间中,允许您在多个Thrift文件中使用相同的标识符。
语言名称空间——对于每个Thrift文件,您可以指定每种编程语言应该使用的名称空间。
基本类型-Thrift有一些基本类型。
常量和枚举——你可以给常量赋值逻辑名。
结构-使用结构对相关数据进行分组。结构可以有任何类型的字段。
稀疏结构-未设置的可选基本字段和空引用字段不会通过线路发送。
结构演化——通过使用字段的整数标识符来处理字段的添加和删除,而不破坏现有的客户端。
容器——可以使用任何类型的集合、列表和映射:基本类型、结构和其他容器。
类型定义——任何类型都可以有一个更好的名称来描述它。
服务-服务是一个组功能
服务继承——一个子服务实现了它的基本服务的所有功能,并且可以有其他的功能。
异步调用——不返回结果的函数可以被异步调用,所以在服务器处理完请求之前,客户端不会被阻塞。服务器可以并行/无序地执行同一客户机的异步调用。
异常——如果发生错误,函数会抛出一个标准的或者用户定义的异常。
循环结构——从0.9.2版本开始,Thrift支持包含自身的结构或者以后要声明的其他结构。
Not 功能
Apache Thrift不支持以下功能:
结构继承-请改用结构组合
多态-不支持多态,因为没有继承。
重载——服务中的所有方法必须唯一命名。
异类容器-容器中的所有物品必须是同一类型。
Null返回-不能直接从函数返回Null。请改用包装结构或标记值。
软件特色
Apache Thrift是一个涉及很多编程语言和用例的软件项目。我们的目标是使跨语言的可靠和高性能的通信和数据序列化尽可能高效和无缝。Thrift2007年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语言中的类,但是它们没有继承。结构有一组强类型字段,每个字段都有一个唯一的名称标识符。字段可能有各种注释(数字字段ID、可选默认值等。)在Thrift IDL中描述。
4.容器
节俭容器是强类型容器,它映射到大多数编程语言中的通用容器和通用容器类型。
有三种容器类型:
列表:元素的有序列表。转换成STL矢量,Java ArrayList,脚本语言原生数组等。
Put:无序的唯一元素集。转换成STL集合,Java HashSet,Python中的set等。注意:PHP不支持集合,所以类似于List。
Map:严格唯一的键到值映射。转换成STL映射,Java HashMap,PHP关联数组,Python/Ruby字典等。尽管提供了默认值,但类型映射并不是显式固定的。添加了自定义代码生成器指令,允许在各种目标语言中替换自定义类型。
Apache Thrift(服务开发框架)相关下载
- 查看详情MYSQL for Linux简体2023-08-11
- 查看详情MQTT Simulate Device(MQTT客户端调试工具)简体2023-08-09
- 查看详情delphi 2011简体2023-08-03
- 查看详情CodeLite(C++跨平台开发环境)简体2023-08-03
- 查看详情PLC调试助手简体2023-07-27
- 查看详情 MYSQL for Linux 简体 2023-08-11
- 查看详情 MQTT Simulate Device(MQTT客户端 多国语言[中文] 2023-08-09
- 查看详情 delphi 2011 英文 2023-08-03
- 查看详情 CodeLite(C++跨平台开发环境) 多国语言[中文] 2023-08-03
- 查看详情 PLC调试助手 简体 2023-07-27
- 查看详情 宏程序自动生成器 简体 2023-08-11
- 查看详情 Sourcetrail(源码资源管理器) 英文 2023-08-11
- 查看详情 鱼跃CMS 简体 2023-08-11