Apache Thrift(服务开发框架)v0.14.1官方版
最新推荐
-
齐鲁银行网银助手3.0.0.5官方版 安全软件 / 3.0M
-
360安全卫士U盘病毒专杀(Autorun.inf专杀)13.0.0.213简体中文绿色免费版 安全软件 / 86.1M
-
360安全卫士U盘病毒专杀工具v13.0.0.213绿色免费版 安全软件 / 86.1M
-
360安全卫士修复工具v13.0.0.213免费版 安全软件 / 86.1M
-
360安全卫士超强查杀V13.0.0.213安装版 安全软件 / 86.1M
精品推荐
-
FMSLogo(儿童编程环境)v8.3.2官方版 编程开发 / 11.2M
查看 -
visualgdb(VS开发安卓工具)5.1 r6免费版 编程开发 / 18.5M
查看 -
CudaText(代码文本编辑器)v1.156.2.2中文版 编程开发 / 14.0M
查看 -
Visual Studio Code(微软代码编辑器)v1.82.2.0官方版 编程开发 / 89.9M
查看 -
robosim虚拟机器人v2.1.2.103官方版 编程开发 / 145.8M
查看
本类排行
详情介绍
Apache Thrift 是一个服务开发框架。用户可以使用多种语言在软件上开发您的服务项目。结合编辑器,可以输入代码内容,允许用户设计各种编程语言支持的客户端程序和服务器程序。
Apache Thrift 是一个服务开发框架。用户可以使用多种语言在软件上开发您的服务项目。结合编辑器,可以输入代码内容,允许用户设计各种编程语言支持的客户端程序和服务器程序。
特征
Apache Thrift 的特点:
接口描述语言- 一切都在IDL 文件中指定,可以从该文件生成多种语言的绑定。
语言绑定- Thrift 支持多种语言和环境
C++
C
可可
D
德尔福
埃尔兰
哈斯克尔
爪哇
奥卡米尔
珀尔
PHP
Python
红宝石
短暂聊天
~namespace - 每个Thrift 文件都位于自己的命名空间中,允许您在多个Thrift 文件中使用相同的标识符
语言命名空间- 每个Thrift 文件,您可以指定每种编程语言应使用哪个命名空间
基本类型- Thrift 有少量基本类型。
常量和枚举- 常量值可以分配逻辑名称
结构- 使用结构对相关数据进行分组。结构可以具有任何类型的字段。
稀疏结构- 尚未设置的可选基本字段和空的引用字段将不会通过网络发送
结构演变- 通过使用整数标识符来处理字段的添加和删除,而不破坏现有客户端
容器- 您可以使用任何类型的集合、列表和映射:原始类型、结构和其他容器。
类型定义- 任何类型都可以被赋予一个更好地描述它的名称
服务- 服务是一组功能
服务继承- 子服务实现其基本服务的所有功能,并且可以具有附加功能
异步调用- 不返回结果的函数可以异步调用,因此在服务器处理完请求之前客户端不会被阻塞。服务器可以并行/乱序地执行来自同一客户端的异步调用
异常- 如果发生错误,函数可以抛出标准或用户定义的异常
循环结构- 从版本0.9.2 开始,Thrift 支持包含自身的结构或稍后声明的其他结构。
非功能性的
Apache Thrift 不支持以下功能:
结构继承- 使用结构组合代替
多态性——由于没有继承,所以也不支持多态性
重载- 服务中的所有方法必须唯一命名
异构容器——容器中的所有物品必须是同一类型
Null 返回- 您不能直接从函数返回null。使用包装结构或标签值代替
软件特点
Apache Thrift 是一个跨越多种编程语言和用例的软件项目。我们的目标是尽可能高效、无缝地实现可靠、高性能的跨语言通信和数据序列化。 Thrift于2007年4月开源,并于2008年5月进入Apache孵化器。Thrift于2010年10月成为Apache TLP。
Apache Thrift 旨在体现以下价值观:
简单性Thrift 代码简单且易于使用,没有不必要的依赖项。
透明节俭符合所有语言中最常见的习语。
一致性利基、特定于语言的功能属于扩展,而不是核心库。
性能我们努力将性能放在第一位,将优雅放在第二位。
软件优势
1.节俭的类型
Thrift 类型系统旨在允许程序员使用尽可能多的本机类型,无论他们使用哪种编程语言。此信息基于并取代Thrift 白皮书中的信息。 Frugal IDL 提供了用于为每种目标语言生成代码的类型描述。
2. 基本类型
选择基本类型是为了简单和清晰,而不是纯粹的数量,重点关注所有编程语言中可用的关键类型。
bool:布尔值(真或假)
字节:8位有符号整数
i16:16 位有符号整数
i32:32 位有符号整数
i64:64 位有符号整数
double:64位浮点数
String:使用UTF-8编码的文本字符串
3. 结构
Thrift 构造定义了一个公共对象——它们本质上等同于OOP 语言中的类,但没有继承。结构具有一组强类型字段,每个字段都有一个唯一的名称标识符。字段可能具有各种注释(数字字段ID、可选默认值等),如Thrift IDL 中所述。
4. 容器
节俭容器是强类型容器,映射到大多数编程语言中的常见容器和常见容器类型。
容器类型分为三种:
列表:元素的有序列表。转换为STL向量、Java ArrayList、脚本语言的本机数组等。
Put:一组无序的唯一元素。转换为STL Set、Java HashSet、Python中的Set等。 注意:PHP不支持集合,所以与List类似。
map :键到值的严格唯一映射。转换为STL映射、Java HashMap、PHP关联数组、Python/Ruby字典等。虽然提供了默认值,但类型映射没有明确固定。添加了自定义代码生成器指令,以允许在各种目标语言中替换自定义类型。