Apache Thrift(服务开发框架) v0.14.4

2024-04-09发布者:zhangliang大小: 下载:0

文件大小:

软件介绍

Apache Thrift是个高性能的跨语言服务开发框架,简单易用,您可以用多种编程语言来开发自己的项目,静态生成的设计让它非常容易被开发者所使用,提高开发效率,每个Thrift文件位于其自己的名称空间中,允许您在多个Thrift文件中使用相同的标识符,每个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组合

多态-由于没有继承,因此也不支持多态

重载-服务中的所有方法都必须唯一地命名

异构容器-容器中的所有物品都必须是同一类型

空返回-无法直接从函数返回空。使用包装器结构或标记值代替

软件优势

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字典等。尽管提供了默认值,但类型映射未明确固定。添加了自定义代码生成器指令,以允许以各种目标语言替换自定义类型。

软件测评

Thrift代码简单易用,没有不必要的依赖关系

用户可以在软件上使用多种语言开发你的服务项目

结合编辑器就可以输入代码内容

用户可以设计各种编程语言支持的客户端程序和服务端程序


软件截图

查看安装过程

image.png

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

版权声明:

1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!

2 本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。

3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。

4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784

返回顶部