前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Thrift 跨服务开发框架

Thrift 跨服务开发框架

作者头像
WindWant
发布2020-09-11 10:46:48
3730
发布2020-09-11 10:46:48
举报
文章被收录于专栏:后端码事
代码语言:javascript
复制
Thrift概述

    Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP,
Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等编程语言间无缝结合的、高效的服务。
代码语言:javascript
复制
代码生成工具命令:“thrift-*.exe" -r -gen java ./*.thrift  生成 gen-java 目录
代码语言:javascript
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档