Thrift 跨服务开发框架
时间:2022-07-24
本文章向大家介绍Thrift 跨服务开发框架,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Thrift概述
Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP,
Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等编程语言间无缝结合的、高效的服务。
代码生成工具命令:“thrift-*.exe" -r -gen java ./*.thrift 生成 gen-java 目录
1.服务端编码基本步骤:
* 实现服务处理接口impl
* 创建TProcessor //读入,写出
* 创建TServerTransport
* 创建TProtocol
* 创建TServer
* 启动Server
2.客户端编码基本步骤:
* 创建Transport
* 创建TProtocol
* 基于TTransport和TProtocol创建 Client
* 调用Client的相应方法
3.数据传输协议
* TBinaryProtocol : 二进制格式.
* TCompactProtocol : 压缩格式
* TJSONProtocol : JSON格式
* TSimpleJSONProtocol : 提供JSON只写协议, 生成的文件很容易通过脚本语言解析
4.Server
* TSimpleServer 单线程模式 测试用
* TNonblockingServer NIO selector循环监听
* THsHaServer 它使用一个单独的线程来处理网络I/O,一个独立的worker线程池来处理消息
* TThreadedSelectorServer 非阻塞,用多个线程来处理网络I/O。它维护了两个线程池,一个用来处理网络I/O,另一个用来进行请求的处理
* TThreadPoolServer 采用阻塞socket方式工作,,主线程负责阻塞式监听“监听socket”中是否有新socket到来,业务处理交由一个线程池来处理
项目地址:https://github.com/windwant/thrifttest
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- tf.slice函数解析
- 用 Tensorflow 实现简单多层神经网络
- Tensorflow 命名空间与计算图可视化
- Tensorboard 高维向量可视化
- 在K3s上使用Kong网关插件,开启K3s的无限可能!
- 在线教育平台开发中,作业功能中的图片上传是如何实现的
- java基本数据类型
- java基础语法
- java对象和类
- python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题
- 《剑指 offer》刷题记录之:数组
- R语言中绘制箱形图的替代品:蜂群图和小提琴图
- 《剑指 offer》刷题记录之:字符串 & 链表
- python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题
- 《剑指 offer》刷题记录之:树 & 栈和队列