架构实战营模块 6 作业
一:作业
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员
全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务
基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3. 用 1~2 页 PPT 即可。
二:微服务拆分思路
创业公司从 0 开始:拆分方式为按一步到位的业务拆分微服务,按照基础设施的优先级依次落地
根据三个火枪手原则,25 个后端,可以拆分为 8 个服务:用户中心、商品服务、订单服务(包括库存)、支付服务、物流服务、商家服务、客服服务、运营服务
三:微服务基础设施选型思路
创业型公司首先考虑的成本问题,所以 PaaS 架构应该是首选,再是考虑服务器资源利用率的情况,应该会选择 K8S 实现容器编排。
通过使用 k8s 的 ingress 搭建 gateway,甚至可以使用 OpenResty 来定制可插拔的插件化组件(流控、降级、安全)
SpringCloud 本身会有一些坑(之前遇到过的 gateway 队列阻塞、Eureka 三层 Cache 导致的平滑升级)
个人结论:可以考虑直接使用 APISIX
评论