面试官们“爱不释手”的分布式系统架构到底是什么?( 六 )

三、系统如何进行拆分?

一般来说,将系统进行拆分,首先需要对系统整体比较熟悉。可以走多轮拆分的思路,第一次拆分就是将以前的各个大的模块粗粒度的拆分开来。

比如一个电商系统可以拆分成订单系统、商品系统、店铺系统、会员系统、促销系统、支付系统等等。

后面可能每个系统又变得越来越复杂了,比如说订单系统又可以进一步拆分出来购物车系统,库存系统,价格系统等。

总得来说就是基于领域驱动设计的思想以及实战经验总结,同时参考业界一些常规做法,大家讨论着来进行拆分,逐步优化,多轮拆分,小步快跑,最终达到一个比较好的状态。

四、分布式之后带来的技术挑战?

首先就是分布式服务框架的选用,目前国内来讲主流的还是dubbo与spring cloud。

我们来思考一下,使用服务框架主要用来解决什么问题呢?如果不用dubbo或者spring cloud是否可以做分布式架构呢?

不用dubbo或者spring cloud等服务框架当然也是可以的,但是这就需要自己处理很多事情了。

推荐阅读