thrift,关于优秀的性能的方面的报告,相信大家都有所知。
像thrift或者protocal buffers这个作为公司内部平台各异构环境的分布式通信利器,其在性能方面当然不错,从其定义的协议本身我们会理解到,该协议设计的巧妙性。
分布式性能主要包括通信的数据量大小,通信其间的序列化和反序列化的算法两方面。
主要的demo,是用java写的,本人最近试了一个.net,还有python的版本,试用相当顺利,没有太多要注意的地方,使用的归纳几点:
1)对类型的了解,*.thrift文件,定义严格按照thrift说明就行,所有语言都通用。暂时不对,其格式进行说明,为什么格式会这样定义,本人会结合protocal buffers进行说明。
2)接下来就是对接口的定义,接口的定义,就是取决于对各种语言中数据结构的理解,也没有太多的难点,像python都没有类型声明的,所有定义更加随意了。
就从使用者的角度出发,复杂的客户端代码令使用者汗颜,其它接口的变更和追加相当普遍,每次都使用thrift -gen ***?再次生成一些陌生的文件,这样合适嘛。从使用者的立场,大多都直接在生成的客户端上直接修改或者增加,但这无异于代码copy。所以提示一个客户端的封装也是必要的,目的就是开发人员能够快速追加或者修改接口;从提供给内部的使用的架构而言,也是有必要进行组装。
关于组装工作本人还没有完成,只是在接下来的两个项目中要使用这种高效的协议,所以必须得处理一下。
python和.net先提供,一周之内完成。
待续!