高并发架构实战(一) 电商系统设计

转载请标注原文地址:https://blog.csdn.net/lilyssh/article/details/82753318

电商平台微服务架构设计

按照孢子框架要义对电商平台进行微服务架构设计。假设我们设计的目标是简易版淘宝。

1. 需求分析

由于主要是学习技术,所以没对业务规划得过于详细和全面。大的功能分为三个,用户、商品、订单。主要需求如下:

分类 功能 质量
前端首页 注册 及时响应、安全性
  商品展示 及时响应、搜索引擎优化
  商品搜索 及时响应、搜索引擎优化
  秒杀购买商品 及时响应、安全性、可靠性
用户中心 我的订单 及时响应、安全性

2. 系统分析

要将需求进行系统分析,还需要有企业的运营目标做支持。假设我们运营目标是:

  • 用户量:3000万
  • 网站日访问量:3000万PV
  • 商品购买并发:1000 QPS
    我们按照上面的需求进行系统分析,首先按大的职责将职责相同的划分为一个服务。并且有了上面这个运营目标,所有功能需求都需要增加一项“质量”特性,那就是“高并发”,高并发会影响到所有设计。安全性和可靠性也会直接影响功能的技术实现,但并没有并发性影响性大。深入分析职责后把每一种功能的实现关键技术列出,如下:
分类 需求 实现子系统及服务 实现技术(软硬件结合)
前端首页 商品展示、商品搜索 商品系统 集群部署、高速缓存、分布式缓存、搜索引擎技术、静态化
  秒杀购买商品 订单系统 集群部署、消息队列、实时计算
用户中心 我的订单 订单系统 集群部署

如上所述,要支持运营目标的电商平台,可以分为大小几个服务和子系统。系统划分的依据一方面是职责,一方面跟实现技术有关,同一职责下实现技术不同会被划分为两个服务,比如购买商品和商品展示原本属于同一个大的领域,但其因为实现技术和质量要求不同需要划分为两个模块。这是因为微服务和传统SOA最大的区别就是技术实现的个性化,只有个性化才能做好做专,并节省成本。用户购买产品产生订单相关数据,订单数据关系到商品和用户两方面,如果是超高并发的系统,用户购买行为需要单独的服务。

3. 逻辑架构

逻辑视图采用以下方法建立。

按照职责、通用性、技能及工作量综合考虑和计量,平台逻辑架构设计如下图:

用户通过终端层发起请求,请求经由网关层nginx,路由到业务层,业务层通过业务逻辑判断,再访问数据访问层,数据访问层再通过数据库层获取到想要的内容。

  • 使用kafka,可优化下单性能,可以处理秒抢,或者异步处理一些事情,如送下单后优惠券。
  • 使用Elasticsearch,可优化商品查询,商品一般数据量比较大,用户经常模糊查询,近义词要能查出来,且要求及时响应,Elasticsearch
  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值