微服务化架构与半微服务化架构的选型

一个前后端完全分离的web项目,后端主要采用的springboot+dubbo技术。这是个创业项目,量大不大不确定。

在架构项目的过程中,我跟一个朋友都支持服务化架构,把服务拆分成多个主要的服务,商品,订单,基础信息(店铺,授权,登录等)。但是在服务化接口的时候,产生了分歧

朋友架构思想:他希望把所有的接口全部服务化,这样web层只需要调用服务。

我的架构思想:部分服务化,比如订单 我支持服务化,但是基础信息,由于基础信息我认为很大程度上都是利用http接口访问,所以提出了部分服务化,及web跟service整合到一起,需要其他服务调用的接口,在service里面提供rpc接口。

在这个问题上面,我跟朋友产生了分歧,我认为rpc服务化是前提是跟应用有交际的接口才需要,不能盲目的全部服务化掉所有接口。我们现在谁也说服不了谁,不知道具体该怎么选择了。

所有接口服务化比较好。

从两方面看,第一,从架构的一致性上来说,建议所有接口服务化,否则随着项目的演进和人员的陆续加入,衡量哪些接口需要服务化就是一个不断被提及的问题,
从项目管理角度就是一种浪费,第二,接口服务化的也为将来可能的分布式扩展,负载均衡等构建了基础。