整体架构图
业务流程
购买商品增加到购物车流程
在进行商品购买的时候,会涉及购物车微服务和活动(优惠券)微服务。选择商品后会更新购物车,购物车微服务会从活动微服务中获取活动规则(比如满减这样)对购物车的数据进行计算最终返回给前端。(尚上优选有点类似于美团饿了么,不知道对于电商系统来讲适不适用这种处理方式来处理活动的业务架构,这一部分应该再看一下谷粒商城)
微服务设计总结
对于业务架构而言,哪一部分的代码放在哪一个微服务还有待商榷。
理论上其实所有的代码都可以放到一个服务里面,那么如何设计微服务那么就是如何从一个有着所有代码的微服务中逐渐抽离出来。为什么要这样应该是因为对外暴露接口,屏蔽内部处理细节。
举个例子就是一般对于金融系统,都有账务系统和支付系统。这两个为什么分开呢,应该是账务系统负责对外暴露合同的信息(是否结清、逾期、代偿)而支付系统则是负责将金额扣至相关银行账户。如果要合起来当然也是可以,这就好像面向对象一样,就类似于原先是两个类现在合并到一个类里面。原先是分别对外暴露两个不同的功能,现在就是一个类对外暴露两个功能。