写点什么

拆分电商系统为微服务

作者:奔奔
  • 2021 年 12 月 12 日
  • 本文字数:664 字

    阅读完需:约 2 分钟

【背景】

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

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

基础设施选型。

【关键字-分析】

关键字:0 开始做、小程序、电商业务、后端开发人员全部都是 Java25 人,5 个前端

【思路】

0 开始做:拆分方式选择按业务拆分、

搭建完善基础设施,按照微服务基础设施优先级逐步落地、

服务拆分方式落地方式选择一步到位

小程序:数据包有限制,无法加入过多的内容、功能

电商业务:商业模式和业务成熟度高,属于互联网项目,业务变更频繁

后端开发全是 java:技术栈可以统一


【微服务基础设施-分析】


1、服务运行层:由于统一了技术语言为 java,于是选择嵌入 SDK 的微服务框架模式,因为无需额外的维护工作、天然支持高性能和高可用。同时由于该系统对 RPC 没有要求,于是选择 springcloud.可以避免开发 api 网关。

其次、由于是电商业务,环节众多,包含下单、支付、物流多个环节,有些环节需要保持一致性,有些环节需要保证可用性,eureka,适用于高可用场景,zoomkeep,适用于一致性场景,所以使用 nacos 作为 RPC 框架中的注册中心,同时 nacos 可以作为配置中心

2、服务接入层:spring cloud zuul、hystrix

3、技术支撑层:git+jekenis+docker

4、基础设施层:由于支付场景对一致性有要求,rocketMQ,可以支持事务消息。


【业务-分析-拆分】

前台:微信小程序

业务中台:订单中心、库存中心、店铺中心、商品中心、会员中心、财务中心

后台:仓储物流、资金结算


总结:按照三个火枪手的原则,大体上可以根据业务 1 对 1 才分服务。





用户头像

奔奔

关注

还未添加个人签名 2020.07.20 加入

还未添加个人简介

评论

发布
暂无评论
拆分电商系统为微服务