thrift~这是一个开源的跨语言的框架,自己看着文档琢磨了 3 天了,但还是不大明白为什么要使用 thrift?

2015-05-29 10:41:39 +08:00
 kexxxfeng

thrift是一个跨语言的框架,很强大的样子。有两个部分,一、编译器,生成对应语言的代码;二、服务器,事先已经定义好的,可供用户使用的rpc service。
那么问题来了~
1、为什么要使用thrift?
2、rpc,远程过程调用协议,这家伙和.net 中封装的Socket有啥区别?

5596 次点击
所在节点    .NET
12 条回复
youxiaer
2015-05-29 11:45:23 +08:00
很简单的,自己照着教程写一个就知道了。
garfeildma
2015-05-29 11:51:18 +08:00
1.跨平台跨语言,我们公司不同部门用的技术差别很大,java,php,python都有,大家都通过thrift相互调用。
2.thrift还包含了数据协议,自己写socket比较复杂了
jade88
2015-05-29 13:32:32 +08:00
就是省去自己写通信机制的代码,只需要写自己的业务逻辑就ok了,其他的框架搞定
kexxxfeng
2015-05-29 14:35:07 +08:00
@garfeildma
@youxiaer
@jade88
一般软件不都是要用到3层架构(n层架构)吗?那么这个thrift框架扮演什么样的角色呢?
exch4nge
2015-05-29 15:17:40 +08:00
楼主自己去用Socket实现一个通信协议就知道有多麻烦了,Thrift就是省了很多事,还可以跨语言。

thrift框架实现了传输数据的序列化/反序列化,以及数据的网络传输功能,这个非要跟软件N层架构说的话,我就不清楚了。
garfeildma
2015-05-29 15:58:52 +08:00
thrift 跟N层架构没关系,你可以用在任何一层,也可以用来做SOA
damngood
2015-05-29 16:23:35 +08:00
啊, thrift 还包含了通讯这块哇..

这么说当初用 golang 实现基于 protobuf 的 socket 通讯有点浪费啦.
min
2015-05-29 16:44:24 +08:00
9hills
2015-05-29 16:48:34 +08:00
就是一个跨平台 RPC框架而已,protobuf什么的很多
jedyu
2015-05-29 16:49:35 +08:00
你只要专注业务层就行了
9hills
2015-05-29 16:49:55 +08:00
@9hills 修正下,thrift 需要和 gRPC比较, thrift spec和protobuf比较
cheng007
2015-05-29 17:14:59 +08:00
类似于protobuf吧,用DSL语言生成相关代码,协议描述和编程语言无关,方面各种编程语言协作。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/194601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX