电商系统微服务拆分
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
需要明确微服务基础设施选型思路,并选择一个微服务框架;
用 1~2 页 PPT 即可。
【提示】
需要应用三个火枪手原则
需要选择拆分方式
需要选择微服务框架的模式。
【微服务拆分思路】
因为是从 0 到 1 开始的系统,所以按照业务拆分微服务。
团队有 25 人,按照三个火枪手原则拆分为 8 个微服务比较合适,微服务分别为:用户,商家,订单,购物车,支付,物流,优惠券,库存。
因为都是用 java 开发,所以微服务框架选择 SpringCloud 全家桶。
微服务基础设施选择:
1.注册发现和配置中心:Nacos
2.远程调用:SpringCloudOpenFeign
3.负载均衡:SpringCloudLoadBanlancer
4.网关:SpringCloud Gateway
5.分布式锁:seata
6.存储:mysql
7.缓存:redis
8.消息队列:RocketMQ
9.熔断降级:sentinel
10.链路追踪:skywalking
11.监控:Prometheus+Grafana
系统架构图如下:
版权声明: 本文为 InfoQ 作者【张逃逃】的原创文章。
原文链接:【http://xie.infoq.cn/article/1fa07dbb483bbdca3cefd7f58】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论