写点什么

架构实战营 模块六作业

作者:felix
  • 2021 年 11 月 29 日
  • 本文字数:673 字

    阅读完需:约 2 分钟

拆分电商系统为微服务

【背景】

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员

全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务

基础设施选型。

【作业要求】

1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;

2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;

3. 用 1~2 页 PPT 即可。


一、服务拆分

由于是从 0 开始搭建业务平台,所以采用按业务拆分微服务,并根据业务专家做出的需求分析,参考其他电商平台的架构设计,结合现有开发团队的人力资源现状,按照三个火枪手原则,分成前台 2 个入口端、后台 6 个微服务,框架服务。

其中微服务拆分按照先粗后细分演进的原则,运用多对一的拆分方式,将多个紧密关联的业务进行整合。

用户服务:用户登录、注册、会员

商品服务:店铺、商品上下架

交易服务:订单、库存、物流

财务服务:支付、结算

营销服务:活动、优惠促销

其他服务:报表统计、客服



二、微服务框架选型

由于都是 java 开发人员,前台与后台分离采用 http 协议,所以采用 Spring Cloud 技术框架来落地。

服务接入层

使用 Spring Cloud Gateway 作为服务网关

使用 Hystrix 实现服务容错,以及限流、熔断等


服务运行层

使用 Eureka 实现服务注册和服务发现

Feign 和 Ribbon 做远程服务调用和服务路由以及负载均衡


技术支撑层

容器使用 docker

编排使用 k8s

分布式事务使用 Seate

监控工具使用 Promethus


基础设施层

日志使用 ELK

分布式锁使用 redisson

消息队列使用 kafka

缓存服务使用 redis 集群

搜索服务使用 ES

监控使用 CAT


发布于: 10 小时前阅读数: 7
用户头像

felix

关注

还未添加个人签名 2018.09.08 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 模块六作业