java thrift 教程_Thrift入门实战(三)-- 项目分析及Thrift使用过程中的架构

Thrift与WCF、Dubbo的不同

具体的差异,大家可以在网上找各种教程,我这里就不再过多的分析!我这里主要说明我们在使用中的差异。如下:

1、Thrift是跨语言和平台的,WCF、Dubbo等主要是应用于所在语言平台

2、Thrift是有自己的语法体系IDL,并且为了能够生成相应语言的代码,所以它融合了很多不同语言的特性

正是因为这两个区别,在使用的过程中,使用起来要有些不同

我在使用中是如何来界定的

这里只分析了我的界定方式,与实际应用中你的选择不一定相同。但这并不代表我是对的,或我是错的,只是方法和方式上有所不同。

1、Thrift使用场景重要性(按可行性排名):多系统间数据(算法应用)传递、多并发算法应用分拆、系统架构分拆

2、Thrift分拆标志(按优先级):业务划分、功能划分、领域划分

3、Thrift代码管理:服务提供方管理、第三系统管理

界定下来了,如何去分析使用呢?

1、一般情况下,使用RPC也就那寥寥几种原因,这里的三种原因,大部分已经涵盖。Thrift相对于dubbo等使用起来还是有一些不便(或者说维护没有那么方便),因此,在做系统架构分拆时,一般还是少用,比如:我使用的python,我在做系统架构分拆时,用得更多的是使用setuptools,将需要分拆的模块都封装起来;多并发也是一样,有很多可用的架构,不一定要用thrift;但多系统间(含不同的语言环境)却不同,这是thrift应用的强项。

这里要说一下,我在实际应用中就犯了这个错。我使用的是python,我很想在实际应用中将java等语言加入(因为我过去带的团队大部分用的还是java),所以在开篇的时候我说过,我就要使用thrift来做RPC。选择没有错,错在时机,在没有用到其他语言或系统前,thrift只会给我带来事情多,并没有太多其他的好处。

2、分拆方法上面来说,业务划分更加合理,这个与系统间互通有关,实际上也是1中所提到的多系统间调用所决定的;功能实际上就更像是并发时使用的多一些;领域划分主要是架构层面划分,一般慎用,这个有点像你一定要把所有的代码基于RPC来做是一样的。

3、如果没有架构师团队,你就乖乖的用服务提供管理!

分析完后,您是否需要用,或者怎么用,应该就比较清晰了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值