V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kexxxfeng
V2EX  ›  .NET

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

  •  
  •   kexxxfeng · 2015-05-29 10:41:39 +08:00 · 5582 次点击
    这是一个创建于 3255 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    这么说当初用 golang 实现基于 protobuf 的 socket 通讯有点浪费啦.
    min
        8
    min  
       2015-05-29 16:44:24 +08:00
    9hills
        9
    9hills  
       2015-05-29 16:48:34 +08:00
    就是一个跨平台 RPC框架而已,protobuf什么的很多
    jedyu
        10
    jedyu  
       2015-05-29 16:49:35 +08:00
    你只要专注业务层就行了
    9hills
        11
    9hills  
       2015-05-29 16:49:55 +08:00
    @9hills 修正下,thrift 需要和 gRPC比较, thrift spec和protobuf比较
    cheng007
        12
    cheng007  
       2015-05-29 17:14:59 +08:00   ❤️ 1
    类似于protobuf吧,用DSL语言生成相关代码,协议描述和编程语言无关,方面各种编程语言协作。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5217 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:28 · PVG 17:28 · LAX 02:28 · JFK 05:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.