电商系统拆分微服务
电商系统拆分微服务
一、背景
从 0 开始做个小程序电商业务
开发团队大约 30 人左右,包括 5 个前端和 25 个后端
后端开发人员全部都是 java
二、服务拆分
一共有 25 个后端,应用三个火枪手原则,可以同时开发 8 个服务
由于是创业公司开始从 0 到 1 开始做电商业务,采用业务拆分方式进行
由于是创业公司,没有业务专家且是新业务,拆分的方式采用粗分然后演进的方式
对比阿里的电商架构:
最终拆分的微服务为:
用户服务
商品服务
订单服务
支付服务
购物车服务
物流服务
结算服务
统计服务
三、微服务框架选型
后端团队目前技术栈统一为 JAVA,前期的服务规模不会特别大,框架选择使用嵌入 SDK 的方式。
服务接入层
使用 Spring Cloud Gateway 作为服务网关
使用 Hystrix 实现服务容错,以及限流、熔断等
服务运行层
使用 Eureka 实现服务注册和服务发现
Feign 和 Ribbon 做远程服务调用和服务路由以及负载均衡
技术支撑层
容器使用 docker
编排使用 k8s
分布式事务使用 Seate
监控工具使用 Promethus
基础设施层
日志使用 ELK
分布式锁使用 redisson
消息队列使用 kafka
缓存服务使用 redis 集群
搜索服务使用 ES
监控使用 CAT
架构图如下:
评论