架构实战营模块 6 作业
拆分原则
按照此表,由于是从 0 开始构建的业务系统,所以拆分方式为:
1、按业务拆分微服务
2、搭建完善基础设施,按照微服务基础设施优先级逐步落地
3、一步到位
微服务粒度
根据“三个火枪手”原则,团队共 25 个后端,那么可以划分为 8 个微服务
由于电商业务是比较成熟的,并不是新兴业务,所以可以参考业内其他案例,比如淘宝天猫
这里将微服务划分为:会员服务、店铺服务、商品服务、库存服务、订单服务、财务服务、物流服务、营销服务。
基础设施选型
基础设施选型方向
由于属于起步业务,整体规模不会太大,因此采用嵌入式 SDK 的方式
根据此图指导,由于团队全部都是 Java 开发,而且并没有 RPC 的要求,本着“遇事不决找 Apache,spring”的思路,加上 springcloud 提供了完备的一套微服务基础设施,最终我们可以选择 springcloud
基础设施产品选型
既然我们选择了 springcloud,那么我们就可以以 spring 全家桶为主,没有相关产品可以采用 Alibaba 系列组件,再根据基础设施优先级,采用以下产品:
网关:springcloud gateway
远程调用:openFeign
负载均衡:LoadBalancer openFeign
配置中心:Apollo
限流容错:sentine
链路跟踪:sleuth
服务治理:eureka
分布式事务:Seata
消息队列:RocketMQ
服务监控:prometheus & Grafana
评论