1. 研究目的与意义
得益于我国互联网行业的发展,我国网上零售额保持着高速增长,从2016年到2020年网上零售额从51556亿元增长到117601亿元,每年都会有保持10%以上的速度增长,即使在2020年疫情肆虐,消费低迷的情况下,网上零售额仍然保持着稳定的增长幅度。
随着交通更加便利,物流和供应链服务、第三方支付等业务的日趋完善之下,电子商务将在未来蓬勃发展。
随着国家扶贫政策的出台,农村电商也是扶贫的重点项目之一,它将在未来推动国内经济社会发展方面发挥重要作用。
2. 研究内容和预期目标
1.研究内容 传统的单体架构在一个实例中集成了一个系统的所有功能,它有很明显的问题:拓展性差、无法实现复杂业务、技术升级困难等。一个功能点的变更需要全部重新部署,服务的耦合性很高,服务需要升级时需要全部升级。微服务要求以服务为单位进行分布式和去中心化,各个服务可各自运行,服务之间使用HTTP进行通信。软件的设计要尽可能使得业务响应快、代码复用率高、可靠性高、硬件投入少、开发成本低。软件的服务架构从单体架构、分布式集群架构、SOA架构到现在的微服务架构。微服务是由著名的软件研发专家Martin Fowler提出的,核心特点是组件化和去中心化。随着互联网用户数量的增多,虽然分布式架构和SOA架构都可以解决大量用户的并发访问,但是系统内部的各种服务数量也随之增多,维护难度增大。为了在高并发和易于维护之间找到平衡点,微服务架构应运而生。微服务是一种基于许多小型、互联服务的体系结构模式。它们基于单一责任原则。根据 Robert C. Martin 的说法,“将因相同原因而变化的事物聚集起来,将因不同原因而变化的事物分离开来”。微服务架构也被扩展到了松耦合服务中,可以独立地开发、部署和维护。设计原则:高内聚低耦合是一种程序设计的思想,高内聚的本质是抽象和封装,目的是为了让代码结构清晰,业务相关的方法都放在相同的文件里。低耦合的目的是为了不同服务之间的业务代码不混用,降低错误造成的影响。高内聚的核心是低耦合,否则代码中可能会出现大量的重复代码。在设计架构的时候要按照模块化来进行开发,例如分为应用层、接口层、服务层,其中应用层和服务层可以单独部署。各个模块单独开发,各模块之间使用一个标准接口来进行通信,当不同服务需要实现同样功能时可以调用共同的模块来实现功能。前后端也要实现分离,即开发和部署分离。分离后前端页面由专门的前端开发人员进行设计和开发,同时前端页面的独立部署也减轻了后端服务系统的压力,可以给整个系统提供更快的访问速度。技术选择:Java中有许多微服务实现框架,如Spring Cloud、Dubbo等微服务框架,每种框架在服务网关、资源配置管理、调用链监控、容错限流、服务注册等技术实现与机制上均各不相同。本设计计划采用SpringCloud技术来作为微服务框架有以下几点考虑:(1)SpringCloud来源于Spring,稳定性、持续性都可以得到保证;(2)SpringCloud使用SpringBoot方便,可以简化代码编写流程;(3)SpringCloud使用门槛较低,很多中小企业也在使用。整个系统分为前端、后端、移动端,主要设计商城系统以实现消费者完整消费流程、商家商品管理、运营商后台管理以及各角色的个人信息管理。本设计采用微服务架构,主要编程语言为Java,页面前端采用html、css等语言结合Vue框架实现,后端数据库使用MySql,数据持久层使用Mybatis实现,Web端和移动端获取数据进行展示。
2.解决的问题用户可以进入商城,浏览、搜索、购买商品;用户可以选择成为商家,开设店铺并添加、修改、删除商品;权限不足的用户,无法浏览相关页面;管理员可以审核商家和商品;管理员可以投放广告;系统以及用户操作的安全性;承受高并发操作以及高可用性3.写作提纲一、系统设计概述二、需求分析三、系统开发工具和环境四、系统总体设计五、系统实现六、系统测试七、结束语
3. 国内外研究现状
1.国外现状:由于受到疫情的影响,国外疫情严重,线下实体经济受到严重打击,由于电商能避免人之间的接触,降低病毒感染风险,受到全球广大消费者的喜爱。
2020年美国数字买家较2019年上涨了3.8%;东南亚市场的电商销售额同比增长了37.4%,而疫情前为22.2%。
当前全球各国政府主体对跨境电商行业的态度呈现合规化和开放性趋势。
4. 计划与进度安排
1. 分工计划:马瑞:消费者以及主页、移动端相关模块的设计、实现与文档编写;张津铨:商家、运营商以及主页、移动端相关模块的设计、实现与相关文档编写。
2. 时间安排:1月4日——1月17日:系统分析,收集相关资料,系统设计阶段;1月17日——2月21日:编写代码,实现各个模块,系统实施、测试;2月21日——2月28日:修改、完善系统;3月1日——:撰写、整理论文。
5. 参考文献
[1]倪小璐,王旭英,边俊凯,杨风暴.微服务软件架构设计模式及其应用[J].杭州师范大学学报(自然科学版),2021,20(04):442-448. [2]马雄. 基于微服务架构的系统设计与开发[D].南京邮电大学,2017.[3]周志伟.基于微服务架构的金融业机构信息共享系统设计与实现[J].金融科技时代,2021(06):74-77.[4]蒲伟.基于微服务的软件开发框架的探索与思考[J].科技创新与应用,2021,11(19):56-58.[5]查嵩炜.Java微服务架构在邮政移动互联网应用研发设计中的思考与实践[J].邮政研究,2021,37(03):12-17.[6]马雄. 基于微服务架构的系统设计与开发[D].南京邮电大学,2017.[7]谭一鸣. 基于微服务架构的平台化服务框架的设计与实现[D].北京交通大学,2017.[8]李苏璇. 基于微服务架构的SaaS应用构建方法研究[D].华南理工大学,2016.[9] Wang Hao et al. Research on load balancing technology for microservice architecture[J]. MATEC Web of Conferences, 2021, 336 : 08002-08002.[10]王伟,谭松荣.高并发Web应用系统的性能优化分析与研究[J].现代信息科技,2019,3(03):22-23.[11]耿晓利,张芒,尹永宏.高并发高可用的分布式电商平台架构研究[J].计算机技术与发展,2021,31(02):111-115 121.[12]邢贞明,李登辉,潘博.微服务架构与容器技术探析[J].金融科技时代,2021(02):66-69.[13]马红国. 基于微服务架构的校园网系统的设计与实现[D].安徽建筑大学,2021.[14]于晓虹.微服务架构在分布式系统的设计和应用[J].电子技术与软件工程,2021(06):28-29.[15]李冬军.微服务架构的发展与影响分析[J].数码世界,2020(02):2.[16]冯志勇,徐砚伟,薛霄,陈世展.微服务技术发展的现状与展望[J].计算机研究与发展,2020,57(05):1103-1122.
