Thrift:The Ultimate Programming Language for Microservices
作者:禅与计算机程序设计艺术
1.简介
什么是Thrift?
Thrift是Facebook开源的一款面向微服务开发的高性能远程过程调用(RPC)框架。它由Apache Thrift编译器生成的代码组成,可以运行于C++, Java, Python, PHP, Ruby等多种语言环境中。其能够实现客户端通过Thrift API与服务器进行通信,相比于一般的基于XML或JSON的序列化方式更加高效、稳定,适用于多种编程语言及异构系统架构。同时,Thrift提供了良好的服务发现和负载均衡功能,并且支持SSL加密传输。
为什么要使用Thrift?
为了解决分布式计算中的通信复杂性问题,特别是在微服务架构出现之前,诞生了众多的分布式系统架构模型,如SOA(Service-Oriented Architecture)模式、RESTful Web Service架构模式、消息中间件架构模式等。这些架构模型都试图将分布式应用解耦成多个小型的服务,这些服务之间通过网络通信互相协作完成业务逻辑。但是由于服务之间的通信方式不同,往往需要额外的协议处理以及实现封装和转换,从而导致不同系统架构模型之间性能、可靠性、可用性方面的差距。此外,对于前端工程师来说,理解和掌握分布式系统的交互机制、服务调度、容错机制、依赖管理、数据路由等细节也是一个挑战。所以,微服务架构应运而生,它基于服务化组件模式,将单个应用程序按照业务功能模块拆分为一个个独立的服务单元,服务间通过轻量级的HTTP/RESTful API通信,达到分布式应用的最终目标。
因此,Thrift作为分布式系统架构中的一种服务调用方案,被越来越多的人们所采用,并逐渐成为
Thrift:The Ultimate Programming Language for Microservices相关推荐
- 《The C Programming Language》(2nd Ed) Introduction 翻译
<The C Programming Language>(2nd Ed) Introduction 翻译 说明: 1. 本人非专业翻译人员,信达雅三种境界,可以达到" ...
- [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01
本文转载至:http://www.cnblogs.com/yangfaxian/p/3765081.html 全书目录: 一.Welcome to Swift 二.Language Guide 三.L ...
- Ada 程序设计语言(The Ada Programming Language)[第二集]
Ada 程序设计语言(The Ada Programming Language)[第二集]- - 2.5.2 通用离散类型属性 离散类型包括整型和枚举型,除了上述的属性外,还有: S'Pos ...
- C: Answers to “The C programming language, Edition 2”
<The C programming language> Edition 2的习题答案地址: http://users.powernet.co.uk/eton/kandr2/index.h ...
- C Programming Language
代做module作业.代做C/C++编程设计作业.代写Programming Language作业.代做C/C++课程设计作业 C Programming Language Contribution ...
- iOS Swift-元组tuples(The Swift Programming Language)
iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...
- 《The C programming language》学习笔记
Brian和Dennis的<c程序设计语言>(The C Programming Language)真不愧为c语言方面的经典书籍,薄薄的一本,却让人爱不释手,每次阅读都能有所收获.好记忆不 ...
- Ada 程序设计语言(The Ada Programming Language)[第一集]
Ada 程序设计语言(The Ada Programming Language)[第一集]- - 版权(Copyright) <Ada 程序设计语言>的版权隶属于网站 VenusIC,允许 ...
- The C Programming Language 读书总结
(英文 第二版) 花了两天时间把The C Programming Language看了一遍(点这里查看pdf版),这本传说中的C语言经典教材,给我的感觉就是"短小精悍",全书(英 ...
最新文章
- 讲解sed用法入门帖子
- Python 里面如何生成随机数?
- 太简单!日常小动作让你摆脱程序员职业病
- 越秀人民币夹层二期完成首轮关账 首期募集近10亿元...
- auto-sklearn简介
- SAP UI5 应用开发教程之十 - 什么是 SAP UI5 应用的描述符 Descriptor
- 二项分布的期望方差证明_关于二项分布
- mysql异常关闭7034,SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
- C++中内联函数和宏定义的区别
- HDU 4679 Terrorist’s destroy
- 无法读取源文件或磁盘_系统监控之磁盘和网络监控工具
- np.random.RandomState、np.random.rand、np.random.random、np.random_sample
- Sql Server 分区
- 华为认证哪个方向好学?
- 顶岗实习周记java方向_java程序员的实习周记
- 用HTML 格式导出Excel 时,如何保留显示网格线 转载
- 景深的计算及弥散圆、光圈的概念
- java https双向验证_Https双向验证与Springboot整合测试-人来人往我只认你
- ThinkAdmin漏洞(CVE-2020-25540 )复现
- 如何统计多个Excel文件中的信息,统计多个工作簿中的数据,统计多个表格中相同的条,统计多个表格的和等等