thrift是一个跨语言的框架,很强大的样子。有两个部分,一、编译器,生成对应语言的代码;二、服务器,事先已经定义好的,可供用户使用的rpc service。
那么问题来了~
1、为什么要使用thrift?
2、rpc,远程过程调用协议,这家伙和.net 中封装的Socket有啥区别?
1
youxiaer 2015-05-29 11:45:23 +08:00
很简单的,自己照着教程写一个就知道了。
|
2
garfeildma 2015-05-29 11:51:18 +08:00
1.跨平台跨语言,我们公司不同部门用的技术差别很大,java,php,python都有,大家都通过thrift相互调用。
2.thrift还包含了数据协议,自己写socket比较复杂了 |
3
jade88 2015-05-29 13:32:32 +08:00
就是省去自己写通信机制的代码,只需要写自己的业务逻辑就ok了,其他的框架搞定
|
4
kexxxfeng OP |
5
exch4nge 2015-05-29 15:17:40 +08:00 1
楼主自己去用Socket实现一个通信协议就知道有多麻烦了,Thrift就是省了很多事,还可以跨语言。
thrift框架实现了传输数据的序列化/反序列化,以及数据的网络传输功能,这个非要跟软件N层架构说的话,我就不清楚了。 |
6
garfeildma 2015-05-29 15:58:52 +08:00 1
thrift 跟N层架构没关系,你可以用在任何一层,也可以用来做SOA
|
7
damngood 2015-05-29 16:23:35 +08:00
啊, thrift 还包含了通讯这块哇..
这么说当初用 golang 实现基于 protobuf 的 socket 通讯有点浪费啦. |
8
min 2015-05-29 16:44:24 +08:00
|
9
9hills 2015-05-29 16:48:34 +08:00
就是一个跨平台 RPC框架而已,protobuf什么的很多
|
10
jedyu 2015-05-29 16:49:35 +08:00
你只要专注业务层就行了
|
12
cheng007 2015-05-29 17:14:59 +08:00 1
类似于protobuf吧,用DSL语言生成相关代码,协议描述和编程语言无关,方面各种编程语言协作。
|