前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【技术种草】聊一聊大型购物平台的系统设计与架构

【技术种草】聊一聊大型购物平台的系统设计与架构

原创
作者头像
Regan Yue
修改2021-11-19 21:07:03
1K5
修改2021-11-19 21:07:03
举报
文章被收录于专栏:ReganYue's BlogReganYue's Blog

聊一聊大型购物平台的系统设计与架构

一、功能要求
1.搜索

顾客能否搜索到他们想要购买的商品以及我们是否需要展现我们不能提供给当前顾客的商品。

比如,假如顾客所在地方是因为疫情而管制快递,那么我们是否给顾客商品的搜索结果。

2. 购物车

购物车是很有必要的,通过购物车可以增加用户购买他们喜欢或想要的东西。而且通过购物车,可以了解用户的喜好,更好的推送给用户他们需要的东西。

3. 结账

这是用户确认订单并付款的地方。

4. 查看订单

通过这个功能,用户可以查看他们过去的订单。用户也可以通过这个功能查看最近的购物订单的快递信息和预计到达时间。

二、非功能性需求
1. 低延迟

这个购物平台应该需要非常低的延迟,如果在购物的过程中遇到延迟会非常影响购物体验。

2. 高可用

搜索算法、订单算法等算法都需要高可用。系统不能长时间出现故障,这样会失去用户对平台的信任。

3.高一致性

与支付相关的数据与用户信息必须高度一致。购物平台是和钱打交道,不能出现多处数据不一致的问题,否则会导致经济损失或失去用户。

三、大型购物平台架构
  1. Elasticsearch 集群

Elasticsearch 集群是一组具有相同属性的节点,当有节点加入或有节点离开,集群都会进行一次重组。Elasticsearch 集群在所以可用节点之间均匀分布数据。主要用于搜索系统。

2. Cassandra 集群

Cassandra 是一个点对点分布式系统,由一组节点组成,其中任何节点都可以接受读或写请求。用于历史订单系统和推荐服务系统。

3. Redis集群

我们使用在下订单的时候使用Redis集群。

4. MongoDB集群

MongoDB 有两种不同的分布式配置。第一个是“副本集”,其中多个服务器承载相同的数据来避免出现故障。第二种是“分片集群”,几台服务器中每台只承载整个数据集的一个片段,以达到更强的性能和存储更大的数据集。

主要是用于存储购物平台中各种系统的数据。比如购物车啊、订单处理系统啊等等。

5. Kafka集群

这个集群主要是协调各系统的工作。让合适的数据以合适的形式出现在合适的地方。

6. Spark

Spark是进行大数据分析的,主要是为了给用户更好的推荐商品。

7. Restful Web Service

Restful Web Service 是一种基于 REST 架构的轻量级、可维护和可扩展的服务。Restful Web Service以安全、统一、无状态的方式将应用程序中的 API 公开给调用客户端。调用客户端可以使用 Restful service执行预定义的操作。

8. Load balancer

在计算的过程中使用负载均衡,可以让整体处理更加高效。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 聊一聊大型购物平台的系统设计与架构
    • 一、功能要求
      • 1.搜索
      • 2. 购物车
      • 3. 结账
      • 4. 查看订单
    • 二、非功能性需求
      • 1. 低延迟
      • 2. 高可用
      • 3.高一致性
    • 三、大型购物平台架构
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档