3.1 功能性需求分析
功能的需求决定了电商平台必须提供的功能服务,对功能进行分析划分出平台必须完成的所有功能。经过早期对用户和市场的调研,微服务高并发的电商平台功能模块主要可以划分为如下六个微服务,分别是商品微服务、订单管理微服务、购物车管理微服务、用户管理微服务、秒杀微服务和评论微服务。
3.1.1 商品微服务的需求分析
商品微服务是微服务高并发电商平台最重要的模块之一。此微服务提供的功能包括门户系统的商品信息的展示,如商品标题、图片、价格、品牌、分类等,商品的搜索,如按条件搜索、排序等搜素展示商品的信息。还有后台的商品的管理,包括商品的增加删除修改查询,商品品牌的增加删除修改查询,商品的收藏查询,商品的浏览记录等功能。商品微服务功能用例图如图3-1,3-2所示。
图3-1 商品微服务用户功能用例图
图3-2 商品微服务管理员功能用例图
3.1.2 用户微服务的需求分析
用户微服务在前台门户系统为用户提供登录、注册、查看修改自己的个人信息,查看自己的足迹的功能。在后台管理系统为管理员提供用户管理包含增加删除修改查询用户,用户信息管理包括用户信息查询修改删除,用户的地址管理包括用户地址的增加删除修改查询的功能。用户微服务功能的用例图如图3-3,3-4所示。
图3-3 用户微服务用户功能用例图
图3-4 用户微服务管理员功能用例图
3.1.3 订单微服务的需求分析
订单微服务在前台门户系统为用户提供下订单、查询订单、确认收货、退款、退货等功能。在后台管理系统为管理员提供等待发货的订单管理包括等待发货订单查询、删除、修改、发货,发货中的订单管理包括发货中的订单查询、删除、修改,确认收货的订单管理包括确认收货订单查询、删除、修改、确认收货,退款退货管理包括退款退货的订单查询、修改、删除、退款退货等功能。订单微服务功能的用例图如图3-5,3-6所示。
图3-5 订单微服务用户功能用例图
图3-6 订单微服务管理员功能用例图
3.1.4 购物车微服务的需求分析
购物车微服务在前台门户系统为用户提供添加商品到购物车,修改商品数量,删除购物车里的商品,商品结算等功能。在后台管理系统为管理员提供购物车管理包括购物车商品的查询、修改、删除等功能。其作用是为了使用户能够更好地管理自己喜欢和感兴趣的商品。购物车微服务功能的用例图如图3-7,3-8所示。
图3-7 购物车微服务用户功能用例图
图3-8 购物车微服务管理员功能用例图
3.1.5 评论微服务的需求分析
评论微服务主要在门户系统为用户提供确认收货后的商品评价以及待评价订单查询的功能,在后台管理系统为管理员提供待评价管理包括待评价的订单查询、删除,已评价商品订单管理包括已评价订单查询、删除、修改等功能。评论微服务功能用例图如图3-9,3-10所示。
图3-9 评论微服务用户功能用例图
图3-10 评论微服务管理员功能用例图
3.1.6 秒杀微服务的需求分析
秒杀微服务主要提供能够在高并发情况下满足用户秒杀商品的功能,用户登录系统后可进入秒杀页面查看待秒杀、正在秒杀和已经秒杀结束的商品。管理可以对秒杀商品进行管理,设置秒杀开始和结束的时间,上下架秒杀商品。秒杀微服务的用例图如图3-11,3-12所示。
图3-11 秒杀微服务用户功能用例图
图3-12 秒杀微服务管理员功能用例图
3.2 非功能性需求分析
基于微服务高并发的电商平台的非功能性需求也非常重要,这能让用户的体验更好,使系统更加稳定安全,使后期系统维护更加容易,系统的功能拓展更加简单。主要的非功能性需求包括服务的高可用性、系统的高性能、高并发、系统可复用性。
(1)高可用性:高可用性通常用于描述特殊的系统设计,以缩短停机时间并确保其高质量的服务。如果系统更稳定,则持续时间会更长。本文在构建单个服务提供商的服务体系结构时,可以保证当单个服务提供商出现故障时,将用户的请求转移到另一个服务,即当出现故障时,可以快速提高服务的可用性。
(2)高性能性:对软件性能的要求通常基于用户的体验。高性能的软件要求通常包括最大的并发用户数、系统响应时间、巨大的数据处理能力等。对于上述要求,使用微服务体系结构构建电子商务平台能够提高系统的性能。电商平台正是通过微服务体系结构中各个微服务的独立部署和运行,使服务易于在多台服务器上实现和扩展,能够有效地处理高并发问题,以及提高系统的响应时间。
(3)高并发性:而作为电子商务平台,其业务逻辑非常复杂,用户的访问量相当大。而当用户发起请求时,系统能够给出快速响应,尽可能的减少用户等待响应的时间,提高用户的体验感是非常有必要的。故此,应尽可能提高系统的高并发能力,以减少请求失败的次数。可以从业务层、数据库层、和网关层等方面进行设计以提高整个系统高并发能力。
(4)可复用性:微服务高并发的电子商务平台基于微服务体系结构构建的,目的是将复杂的系统按功能模块划分为一部分小的微服务,所有的微服务都是独立实现和运行的,因此在平台在需要复用时时非常方便快捷。
3.3 服务注册与发现需求分析
微服务架构模式下,各个微服务的管理是非常重要的。各个微服务都可能可在运行时停止并改变其配置。而面对这种变化,不能依赖开发者一个一个的维护服务信息。因此,它是实现服务发现作为一种动态方式的最有效手段。第一,将服务提供者的信息记录存储在Nacos服务注册表中,让Nacos注册中心对这些服务进行维护。在调用服务时,服务消费者必须首先从Nacos服务注册中心获取当前可以使用的服务的列表,然后调用相应服务实例。对于这个微服务高并发的系统,我们需要使用将每个服务注册到Nacos服务注册中心,交给注册中心去维护服务的信息。而同时,我们可以动态检测服务实例的状态,看服务是否可用。有没有失去联系等,这可用通过心跳机制进行实现。当服务不可用时,注册中心会自动删除此服务的实例以确保服务的可用性。