架构实战营模块六作业
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
需要明确微服务基础设施选型思路,并选择一个微服务框架;
用 1~2 页 PPT 即可。
【提示】
1. 需要应用三个火枪手原则;2. 需要选择拆分方式;3. 需要选择微服务框架的模式。
1、分析
1、按照拆分原则按业务、质量拆分,这里使用业务拆分,因为是 0-1 的系统搭建
2、基础设施
由于业务能够提供全套基础设施的微 spring 家族,所以这里选择 spring cloud 为基础选型。因项目处理,这里使用 sdk 嵌入式。所以注册中心和配置中心选择统一的 nacos。nacos 还可以和 sentinel 结合做到熔断降级处理。
1、服务网关: spring cloud gateway
2、远程调用: openFeign
3、负载均衡: Ribbon
4、注册中心和配置中心:spring cloud alibaba nacos
5、分布式锁: spring cloud alibaba seata
6、链路跟踪: skywalking
7、监控:Prometheus+Grafana(组合)
8、存储: mysql
9、缓存: redis
10、熔断降级: spring cloud alibaba sentinel
评论