
Thrift
笨笨D幸福
一个因好奇而误入地球的太阳系生物.
https://gitcode.com/mycat
https://github.com/BBDXF
展开
-
01-Thrift初探
Thrift初探目标是编写一个最简单的服务器+客户端1 接口文件我们先实现一个最简单的加法服务器: 1// MathService.thrift2service MathService {3 i32 Add(1:i32 A, 2:i32 B)4}使用下载(或编译)的Thrift工具,生成调用代码: 1mkdir mysrc // 必须先创建输出目录2thrift -o原创 2017-07-22 17:19:06 · 1048 阅读 · 0 评论 -
12-Thrift_Python的使用
Thrift_Python/…使用 Python/Node.js/Golang/Php… 都差不多,都可以完成服务和客户端的编写,这里以Python为例。 Thrift的Python端既可以写服务器,也可以写客户端。 (Golang请参考之前的文章)Server端为了兼容JS端,我们这里都以一下要求为标准。 要求:(否则JS无法解析) Json Protocol打包协议Http原创 2017-12-03 21:59:29 · 1041 阅读 · 0 评论 -
11-Thrift_JavaScript的使用
Thrift_JavaScript使用 Thrift的JavaScript端一般只用来制作Client,Server需要使用Node.js等其他语言来完成。 Server端参考上一篇的服务,着重Multiple的服务(其他的Processor比这个简单)。 要求:(否则JS无法解析) Json Protocol打包协议Http Transport通信MultipleProtocol/Pr原创 2017-12-03 21:59:01 · 3939 阅读 · 5 评论 -
10-Thrift_Cpp_Win编译+Demo
Thrift_cpp在Win下的编译使用 这一篇主要介绍,Thrift在Windows下使用VS编译相关内容和问题。Thrift 版本及来源来源:thrift来源有两个地方:GitHub 和官方Git仓库,无论哪里,内容都是同步的。但是问题是,不是所有的版本都可以随意使用的。版本:目前(20171129)使用官方master编译和使用有问题,所以选择比较近的0.11.0/maste原创 2017-11-29 11:08:21 · 756 阅读 · 0 评论 -
09-Thrift高级3
总纲从这一篇开始,学习和讲解Thrift一些细节性的东西。 Thrift定义参考 Url 首先,Thrift编译的命令:thrift -r -o . -out . --gen go *.thrift 其中,语言对照表如下(或者查看help): // 命名空间namespace java test_java_package namespace py test_python_package原创 2017-09-11 13:39:30 · 866 阅读 · 3 评论 -
08-Thrift高级2
Thrift高级2由于之前是使用C++做的,有很多不便,这里尝试使用golang制作thrift over http服务和客户端。 服务器有句话说的好,远在天边,尽在眼前。 想要制作这个主题时,google了半天也没有一个靠谱的。实在没办法了,翻了翻test项目,哈哈,就有了现在的服务端。 package mainimport ( "fmt" "net/http" "t原创 2017-09-04 18:28:16 · 696 阅读 · 1 评论 -
07-Thrift高级
Thrift高级在之前的案例中,使用的都是TCP服务,但是在实际网络中,TCP端口要求很严,我们不可能为每个微服务都提供一个端口,这也是近几年HTTP越来越占主流的一个很重要原因。这里,我们研究一下 Thrift Over HTTP。 依赖与感谢版本必须为最新0.10.0,这个版本提供了THttpServer和THttpClient这两个核心类。 这里要感谢QQ群【thrift技术交流群】里的l原创 2017-09-04 15:05:00 · 683 阅读 · 0 评论 -
03-Thrift进阶
Thrift进阶1端口复用文件传输推送双向通信- Thrift中一个服务对应一个端口,如果需要多个服务,则悲剧了,端口复用问题十分严重。 - 相比较,在ZeroC ICE中,不仅可以做到服务集合,而且端口复用是一个最最基础的用法。 - 下面我们来探究一下,端口复用问题。0.9.1版本之后原生支持。 集中解决三个问题:端口复用、文件续传、双向传输/推送。原创 2017-07-26 17:34:13 · 2547 阅读 · 0 评论 -
02-Thrift研究
Thrift研究Thrift网络库阻塞IO服务器1 TSimpleServer服务器2 TThreadServer服务器3 TThreadPoolServer服务器非阻塞IO服务器其他语言1 纯go的服务器和客户端Thrift研究主要研究单线程服务器、多线程服务器、线程池服务器,以及基于libevent的非阻塞模型的服务器。 1 Thrift网络库与传输协议一样,Thrift 也原创 2017-07-24 16:56:12 · 777 阅读 · 0 评论 -
00-Thrift简介(官方文档略读)
Thrift简介Thrift简介摘要介绍类型1 基本类型2 结构3 容器4 异常5 服务Services传输1 接口2 执行实现21 TSocket22 TFileTransport23 实用程序协议1 接口2 结构3 实现版本控制1 字段标识符2 设定3 案例分析4 协议传输的版本控制RPC调用1 TProcessor2 生成的代码3 TSer原创 2017-07-19 11:59:36 · 1173 阅读 · 0 评论 -
Thrift 新版(>0.10.0)补漏
Thrift新版(>0.10.0)补漏自从gRPC出来,Thrift与gPRC竞争日益激烈,他们都有不同的适合的应用场景,就目前来看,我个人更喜欢Thrift一点,最近使用了新版0.11.0以及未正式发布的0.12.0,发现了很大的问题:golang版本生成的package无法编译通过客户端调用接口改变,变化很大服务端接口函数改变下面来解决这些问题:首先,需要注意的是,pac...原创 2018-10-29 10:31:20 · 1429 阅读 · 1 评论