thrift是什么?

thrift是一套开源RPC框架,最初由facebook开发,后进入apache进行孵化。thrift最大的特点是可以实现跨语言的开发。

thrift框架结构

  • ×××部分代表由thrift描述文件生成的代码
  • 棕色部分和红色部分代表分别使用×××部分代码生成的客户端代码和服务器端代码
  • 紫色部分和蓝色部分代表thrift运行依赖的库

thrift支持的protocols

  • TBinaryProtocol 普通二进制格式

  • TCompactProtocol 压缩二进制格式,传输效率更高

  • TJSONProtocol JSON格式

  • ...

thrift支持的transports

  • TSocket 普通阻塞式I/O传输

  • TFramedTransport server采用非阻塞格式时需采用此传输,按块传输

  • ...

thrift支持的服务器端类型

  • TSimpleServer 阻塞式、单线程

  • TThreadPoolServer 阻塞式、多线程

  • TNonblockingServer 非阻塞式、多线程

使用thrift进行开发(java)

  • 编写thrift描述文件,如何编写并生成java代码可参考官网资料

  • 通过引入生成的java代码开发服务器端和客户端程序

服务器端和客户端程序的开发需要依赖libthrift jar包,可按如下方式生成:

从官网下载最新tar包,进入解压文件下lib/java子目录下,执行ant命令即可生成libthrift jar包

服务器端、客户端开发基本步骤可参考如下链接:

http://jnb.ociweb.com/jnb/jnbJun2009.html

http://www.micmiu.com/soa/rpc/thrift-sample/

转载于:https://blog.51cto.com/boyzone/1140017

thrift介绍及其在java中的使用相关推荐

  1. 23种设计模式介绍以及在Java中的实现

    本文章出自:blog.csdn.net/anxpp/artic- 若要查看原文请点击 文章中的示例源码在github上:github.com/anxpp/JavaD- 由于CSDN上的下拉翻页比较麻烦 ...

  2. ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化

    场景 ProtoBuf简介 protocol buffers 是一种语言无关.平台无关.可扩展的序列化结构数据的方法,它可用于(数据)通信协议.数据存储等. Protocol Buffers 是一种灵 ...

  3. Java中Synchronized的用法(简单介绍)

    简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...

  4. [转]详细介绍java中的数据结构

    详细介绍java中的数据结构 本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类.一起来看本文吧! 也许你已经熟练使用了java.util包里面的各 ...

  5. Java中BigDecimal类介绍及用法

    Java中BigDecimal类介绍及用法 Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高 ...

  6. Java中List集合介绍(炒鸡详细呦)

    Java中List集合介绍 文章目录 Java中List集合介绍 1,Java集合介绍 2,List介绍 2.1 ArrayList集合 2.2 LinkedList集合 3,List常用方法 3.1 ...

  7. gPRC简介以及Java中使用gPRC实现客户端与服务端通信(附代码下载)

    场景 ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...

  8. Java中的策略模式实例教程

    策略模式是一种行为模式.用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略. 策略模式也被称作政策模式.实现过程为,首先定义不同的算法策略,然后客户端把 ...

  9. 四十三、深入Java中的数组流,数据流和对象流操作

    @Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

最新文章

  1. [翻译]敏捷软件开发 一 之简要介绍
  2. java 监控执行时间_java-监测方法运行时间 | 学步园
  3. matlab中y=x(:,ones(1,3))的含义解读
  4. Windows Phone 7 Bitmap编码
  5. Java开发人员应该知道的三件事
  6. CCIE-LAB-第五篇-DHCP+DHCP-Realy+DHCP snooping
  7. .net string format
  8. python 卡方检验_【技术】卡方检验及其Python实现
  9. 2021年中国助听器市场趋势报告、技术动态创新及2027年市场预测
  10. mysql5.6 安装配置 老系统_mysql 5.6 从陌生到熟练之-安装配置(windows系统)
  11. ES6学习笔记一(var let const三者区别)
  12. MLDN的超级玛丽。。。
  13. 如何搭建反欺诈策略与模型
  14. [大话技术]话聊有趣的23种设计模式
  15. 大话西游2人气稳定服务器,大话西游2开服18年的老区还得排队,凌烟阁确实够火...
  16. 博弈论——4.1三人博弈的纳什均衡练习题
  17. 如何改变计算机桌面字体,怎么调整电脑桌面字体
  18. nginx 配置之 proxy_pass参数详解
  19. 律师登台痛批,BSA置身事外
  20. 经典例题C语言程序解决数学问题

热门文章

  1. docker java 中文乱码_java使用awt包在生产环境docker部署时出现中文乱码的处理
  2. android tabhost的使用方法,android TabHost(选项卡)的使用方法
  3. html没有内容怎么爬,Url没有在网页中返回正确的html(对于我的Java爬虫)
  4. Windows 10 修改网络名字
  5. ga设置迭代次数_种群进化+邻域搜索的混合算法(GA+TS)求解柔性作业车间调度问题(FJSP)算法介绍...
  6. 20201219:力扣219周周赛题解
  7. object string java_java实现Object转String的4种方法小结
  8. 浅谈智能卡加密芯片在智能设备领域的技术运用
  9. 宝宝安全座椅什么牌子好?[自己参考]
  10. VB SendKeys 语句