前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式电商系统的设计与实现⑤-1

分布式电商系统的设计与实现⑤-1

原创
作者头像
会洗碗的CV工程师
发布2024-06-17 22:43:20
750
发布2024-06-17 22:43:20
举报
文章被收录于专栏:毕业设计毕业设计

接下来,我会将整篇毕设论文放上该专栏,其中按照论文提纲主要分为八大部分。每一部分单独列出一篇文章。 这一篇就是论文的第四部分系统概要设计中的架构和功能设计。因为这里数据库表设计内容比较多,避免大家看的审美疲劳,就放到下一个文章里面去了。中括号代表的是参考文献,后面会有列出来

1 系统概要设计

1.1 系统架构设计

该系统整体使用分布式架构设计,总共分为18个小服务,通过Zookeeper注册中心进行注册,然后在Dubbo-Admin管理界面进行统一管理。数据存储层主要通过MySQL来存储业务数据,Redis作为存储缓存。项目整体架构图如下图 4-1:

图 4-1 项目架构图

商家端就使用一个后台API作为消费者,经过注册中心,分别调用商品服务,后台用户服务,文件上传服务,广告服务等服务提供者。

用户端主要包括广告API,前台用户API,搜索API,购物车API,订单API,秒杀API等消费者通过注册中心来调用广告服务,前台用户服务,搜索服务,购物车服务,订单服务,秒杀服务等服务提供者。

其中商家端和用户端的意思是分别代表前端项目,有两个前端项目。下面的数字代表各个服务提供者的端口以及消费者所使用的端口。

本系统各个服务提供者以及消费者都在Zookeeper注册中心地址进行注册,由Dubbo进行统一管理和服务治理。因为该系统中每一个服务都是单独的服务,如果某一个服务出现异常或者导致服务异常终止,那么也是不会影响到其他服务的功能,比如说即使广告服务遭到异常中止,那么是不会影响到商品服务,搜索服务等其他服务。因为这是一个分布式系统,并不是传统的单体架构。

1.2 系统功能设计

由上面的系统架构图进行细分各大服务的功能设计。

(1) 商品服务模块

首先商品服务关联数据比较多,因此它所需要的功能模块也要包含关联的属性的相应功能模块。包括商品品牌管理,商品类型管理,以及商品类型子类型和父类型的查询以及获取商品类型分组查询详情。通过商品子类型ID可以查询父类型。以及商品规格的管理,商品规格与商品类型相联系,因此知道商品类型,那么同时也应该知道商品规格,以及商品规格及其对应的规格项等。以及对于商品的增改查等相关功能,还要对于商品的上下架功能。这里商品服务就已经关联了商品品牌,商品类型,商品规格,规格项等相关属性。商品管理还应该包括关于秒杀商品的管理,对于秒杀商品的增删查改等功能。因此,该商品服务模块如下图4-2所示:

图 4-2 商品服务功能模块图

(2) 后台用户服务模块

后台用户是用于管理员对于后台管理的功能模块。包括后台用户的新增、编辑和删除等功能,以及对于后台用户应当赋予相应的角色功能。以及后台用户角色管理,对于角色的新增、编辑、删除等相关功能,并且需要对于角色赋予相应的权限等功能。以及对于权限的管理,能够新增、编辑、删除等权限,同时如果权限发生改变,那么角色所拥有的权限也要受到影响。以及用户的角色权限范畴同样也会收到影响。如下图4-3就是该模块的功能模块图:

图 4-3 后台管理功能模块图

(3) 文件上传服务模块

文件上传模块,虽然功能不多,就是仅仅只有两个功能,一个是上传文件以及对于文件的删除,也就说要遇到文件进行更新的时候,为了节省资源,应当把原来的文件给删除,再重新进行上传。如下图4-4是该服务的功能模块图:

图 4-4 文件上传功能模块图

(4) 广告服务模块

广告服务模块主要包括新增广告,编辑广告,删除广告,以及对于广告状态的启用或禁用等相关功能。如下图4-5就是该服务的功能模块图:

图 4-5 广告服务功能模块图

(5) 秒杀服务模块

秒杀服务主要针对于用户在进行抢购活动的时候能够对于秒杀商品进行购买,因此该服务应当包括查询秒杀商品,创建订单,支付功能,查询订单等相关功能。如下图4-6就是该服务的功能模块图:

图 4-6 秒杀功能模块图

(6) 前台用户服务模块

前台用户服务主要针对于前台用户进行注册,登录等功能,这里用户登录可以通过手机号短信验证登录或者用户名密码登录。以及在用户注册之前先检测该用户的手机号是否存在等相关功能。如下图4-7为该服务的功能模块图:

图 4-7 前台服务功能模块图

(7) 短信服务模块

短信服务就只提供一个功能,发送短信,给其他服务提供者或消费者进行调用即可。如下图4-8是该服务的功能模块图:

图 4-8 短信服务功能模块图

(8) 搜索服务模块

搜索服务主要是用于用户在搜索框输入关键字的时候下面能够弹出相关商品关键字的列表,因此这里应当包含关键字搜索商品功能,以及后台更新商品数据时Elasticsearch索引能够自动更新,也就是同步商品到ES等功能。如下图4-9为该服务的功能模块图:

图 4-9 搜索功能模块图

(9) 购物车服务模块

购物车服务应当包括查询用户的购物车列表以及将其选中的商品添加到购物车,修改购物车信息以及删除购物车商品数据等相关功能。如下图4-10为该服务的功能模块图:

图 4-10 购物车功能模块图

(10) 订单服务模块

订单服务模块应当包括新增订单,更新订单,查询订单等相关功能,如下图4-11为该服务的功能模块图:

图 4-11 订单功能模块图

因为这里数据库表设计内容比较多,避免大家看的审美疲劳,就放到下一个文章里面去了。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 系统概要设计
    • 1.1 系统架构设计
      • 1.2 系统功能设计
      相关产品与服务
      短信
      腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档