写点什么

模块 6 拆分电商系统为微服务

作者:KING
  • 2023-02-17
    四川
  • 本文字数:562 字

    阅读完需:约 2 分钟

背景

假设你现在是--个创业公司的首席技术官,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做-一个小程序电商业务,请你设计微服务拆分的架构以及微服务。


分析

团队成员 30 人,前端 5 后端 25,后端全部都是 java 开发人员,使用 spring 全家桶的话更好;根据三个火枪手原则,划分 8 个微服务较为合适,由于开发人员不多,也没有相关领域的专家,所以采用先粗后细的方式进行服务划分,先搞一个上线再继续迭代和演进。

服务拆分

拆分 8 个服务为:

订单服务、商品服务、支付服务、检索推荐服务

用户服务、结算服务、物流服务、统计服务


后端团队目前技术栈统一为 JAVA,使用 spring 全家桶能够快速出成果;框架选择使用嵌入 SDK 的方式,选择 使用 spring cloud 提供的网关,熔断,服务注册等,相关信息如下:


熔断限流:Hytix

服务之间调用使用 Feign 和 Ribbon 调用和路由负载均衡

分布式事务和分布式锁:Seate、redisson

容器:Docker k8s

监控工具:Promesthus

日志分析:ELK

全文搜索:ES


接入服务层选型:

网关:spring Cloud gateway

熔断限流:Hytix


服务运行层选型:

服务注册与发现:Eureka

服务调用与路由:Feign、Ribbon


技术支撑层选型:

服务编排:k8s

容器化:docker

分布式事务:Seate

监控工具:Promethus


基础设施层选型:

日志:ELK

分布式锁:redisson

消息队列:rocketqMq



用户头像

KING

关注

还未添加个人签名 2018-04-25 加入

还未添加个人简介

评论

发布
暂无评论
模块6  拆分电商系统为微服务_KING_InfoQ写作社区