您的当前位置:首页基于SpringCloud微服务架构的进销存管理系统的设计与实现

基于SpringCloud微服务架构的进销存管理系统的设计与实现

2024-01-22 来源:乌哈旅游
叶工业控制计算机曳圆园员愿年第猿员卷第员员期129

基于杂责则蚤灶早悦造燥怎凿微服务架构的进销存管理系统的设计与实现

陨灶增燥蚤糟蚤灶早酝葬灶葬早藻皂藻灶贼杂赠泽贼藻皂月葬泽藻凿燥灶杂责则蚤灶早悦造燥怎凿酝蚤糟则燥泽藻则增蚤糟藻粤则糟澡蚤贼藻糟贼怎则藻

周永圣

侯峰裕

张小贝

渊上海大学通信与信息工程学院袁上海先进通信与数据科学研究院袁上海圆园园源源源冤

摘要院企业资源计划渊耘灶贼藻则责则蚤泽藻砸藻泽燥怎则糟藻孕造葬灶灶蚤灶早冤是当前流行的企业信息化管理模式袁其中整合采购尧销售和库存的管理系统是其重要组成部分遥然而袁随着企业自身的发展壮大袁进销存管理系统也会越来越笨重和庞大遥为此袁引入基于杂责则蚤灶早悦造燥怎凿的微服务架构袁对系统进行总体架构设计与子服务的拆分袁最后使用阅燥糟噪藻则容器部署各个子服务袁实现了系统的小型化和简单化袁便于系统根据企业业务的发展进行扩展遥为企业资源计划进程中遇到的问题提出了一种解决方案袁有机会应用于未来企业信息系统的架构中遥

关键词院企业资源计划袁杂责则蚤灶早悦造燥怎凿袁微服务袁阅燥糟噪藻则

粤遭泽贼则葬糟贼押栽澡藻皂蚤糟则燥泽藻则增蚤糟藻泽葬则糟澡蚤贼藻糟贼怎则藻遭葬泽藻凿燥灶杂责则蚤灶早悦造燥怎凿蚤泽蚤灶贼则燥凿怎糟藻凿贼燥凿藻泽蚤早灶贼澡藻燥增藻则葬造造葬则糟澡蚤贼藻糟贼怎则藻燥枣贼澡藻泽赠泽贼藻皂葬灶凿贼澡藻泽藻责葬则葬贼藻泽怎遭原泽藻则增蚤糟藻泽熏葬灶凿怎泽藻泽阅燥糟噪藻则糟燥灶贼葬蚤灶藻则贼燥凿藻责造燥赠泽怎遭原泽藻则增蚤糟藻泽熏贼燥葬糟澡蚤藻增藻贼澡藻泽赠泽贼藻皂鸳泽皂蚤灶蚤葬贼怎则鄄蚤扎葬贼蚤燥灶熏泽蚤皂责造蚤枣蚤糟葬贼蚤燥灶熏葬灶凿枣葬糟蚤造蚤贼葬贼藻贼澡藻泽赠泽贼藻皂葬糟糟燥则凿蚤灶早贼燥贼澡藻凿藻增藻造燥责皂藻灶贼燥枣藻灶贼藻则责则蚤泽藻遭怎泽蚤灶藻泽泽贼燥藻曾贼藻灶凿蚤灶贼澡蚤泽责葬责藻则援粤泽燥造怎贼蚤燥灶贼燥贼澡藻责则燥遭造藻皂泽藻灶糟燥怎灶贼藻则藻凿蚤灶贼澡藻藻灶贼藻则责则蚤泽藻则藻泽燥怎则糟藻责造葬灶灶蚤灶早责则燥糟藻泽泽蚤泽责则燥责燥泽藻凿葬灶凿澡葬泽贼澡藻燥责责燥则贼怎灶蚤贼赠贼燥遭藻葬责责造蚤藻凿贼燥贼澡藻葬则糟澡蚤贼藻糟贼怎则藻燥枣枣怎贼怎则藻藻灶贼藻则责则蚤泽藻蚤灶枣燥则皂葬贼蚤燥灶泽赠泽贼藻皂泽援

运藻赠憎燥则凿泽押藻灶贼藻则责则蚤泽藻则藻泽燥怎则糟藻责造葬灶灶蚤灶早熏杂责则蚤灶早悦造燥怎凿熏皂蚤糟则燥泽藻则增蚤糟藻熏阅燥糟噪藻则

进销存管理系统是耘砸孕渊耘灶贼藻则责则蚤泽藻砸藻泽燥怎则糟藻孕造葬灶灶蚤灶早冤系统的重要组成部分袁它主要涉及到企业的采购尧销售和库存三个核心流程袁并将其整合到一起遥随着企业的发展壮大袁企业可能会开展新的业务袁这就需要为其配置相应的管理服务遥同时袁企业也可能需要对原有系统进行一些服务的升级和优化袁这就需要原有系统具有高可扩展性尧高灵活性遥

传统的单体架构袁由于逻辑过于耦合袁在后续的改进中很有可能出现牵一发而动全身的窘境咱员暂遥而微服务架构的出现袁可以有效地解决此类问题遥通过微服务架构袁可以将复杂的系统拆分为多个相对简单的小问题袁为每个小问题开发相应的小服务袁每个小服务独立运行遥以业务需求为中心袁小服务之间可通过轻量级通信机制来协调袁从而实现了系统的高灵活性尧高可扩展性咱圆暂遥本文提出了以微服务架构去解决企业进销存管理系统在后续的升级尧扩展和维护方面的问题袁研究了根据业务特点拆分微服务的细节袁实现了阅燥糟噪藻则容器下的微服务的部署咱猿暂遥员主要技术框架

杂责则蚤灶早悦造燥怎凿是一系列框架的有序集合袁这些框架致力于分布式服务治理袁它本身不会提供具体功能的操作袁更专注于服务之间的通讯尧熔断尧监控袁它有很多组件来支持一套功能遥本文主要使用耘怎则藻噪葬尧砸藻泽贼栽藻皂责造葬贼藻垣砸蚤遭遭燥灶和匀赠泽贼则蚤曾遥员援员耘怎则藻噪葬

杂责则蚤灶早悦造燥怎凿耘怎则藻噪葬使用晕藻贼枣造蚤曾耘怎则藻噪葬来实现服务的注册和发现遥耘怎则藻噪葬使用的是允葬增葬程序语言编写的袁所以它特别适合用允葬增葬实现的微服务系统遥耘怎则藻噪葬既是客户端组件也是服务端组件袁在具体使用时通过注解来区分遥此外袁耘怎则藻噪葬不仅仅适合允葬增葬实现的微服务袁也支持非允葬增葬语言开发的微服务袁这是因为耘怎则藻噪葬的服务端组件向开发人员提供了较为完善的砸耘杂栽风格的粤孕陨袁这一特性给开发人员提供了多种技术栈的选择遥耘怎则藻噪葬的架构如图员所示遥

耘怎则藻噪葬服务端袁即服务注册中心袁它可通过多个注册中心

图员耘怎则藻噪葬架构

的互相注册实现高可用配置袁当注册中心的服务过低时袁耘怎则藻噪葬会转入自我保护模式遥耘怎则藻噪葬客户端袁即服务提供者袁客户端通过配置注册中心的地址袁在微服务启动时袁耘怎则藻噪葬客户端根据配置的地址向注册中心注册自身提供的服务袁为避免注册中心的服务不可用的发生袁客户端需要周期性地向注册中心发送心跳来表明自身服务正常遥员援圆砸藻泽贼栽藻皂责造葬贼藻垣砸蚤遭遭燥灶

员冤砸藻泽贼栽藻皂责造葬贼藻是杂责则蚤灶早提供的用于访问砸藻泽贼服务的客户端袁它提供了多种访问远程匀栽栽孕服务的快捷方法袁大大提高了开发人员的效率遥

圆冤砸蚤遭遭燥灶是一款云中间层服务的开源项目袁由国外的晕藻贼枣造蚤曾发布和维护袁主要的目的是提供客户端负载均衡算法袁砸蚤遭遭燥灶组件提供了一系列完善的配置项袁用户可根据需要自行选择遥即砸蚤遭遭燥灶是一个客户端负载均衡器袁可以很好地控制匀栽栽孕和栽悦孕的一些行为遥用户可通过开启岳蕴燥葬凿月葬造葬灶糟藻凿注解袁砸蚤遭遭燥灶会自动根据某种规则渊如简单轮询和随机连接冤去访问服务提供者袁此外用户还可以使用砸蚤遭遭燥灶实现自定义的负载均衡算法遥

130

员援猿匀赠泽贼则蚤曾

在微服务架构中袁为了保证服务的高可用性袁单个服务通常会集群部署遥如果这些服务之间通信时由于网路问题或者自身的不完善导致服务调用失败袁那么调用这个服务就会出现线程阻塞袁此时若有大量的请求涌入袁杂藻则增造藻贼容器的线程资源会被消耗完毕袁导致服务瘫痪遥由于服务之间的依赖性袁故障会传播袁从而对整个微服务架构系统造成服务故障的野雪崩冶效应遥

匀赠泽贼则蚤曾通过断路器机制解决上述问题遥匀赠泽贼则蚤曾是晕藻贼枣造蚤曾的开源组件袁杂责则蚤灶早悦造燥怎凿对这一组件进行了整合袁当较低层的服渊务出现故障时袁此时对其调用失败的频度达到一个阈值应匀赠泽贼则蚤曾袁使用是枣葬造造遭葬糟噪穴雪缘泽圆园方次法冤袁对其直接断路器返回就会一打个开固遥定值为避免遥故障连锁反圆系统设计与实现

针对进销存管理系统的特点袁并结合微服务架构的拆分原则袁将其拆分为三个基础服务和一个接入层服务袁三个基础服务配有相应的数据库袁最后使用阅燥糟噪藻则容器实现了服务的独立部署运行咱源暂圆援员整体遥架构

系统的整体架构如图圆所示遥系统整体分为用户服务尧商品服务尧客户服务和一个接入层服务遥用户服务作为一个基础服务袁主要关注于与用户相关的数据操作袁主要提供用户管理尧角色管理尧系统日志尧修改密码和安全退出五个业务功能遥其中系统日志存储了用户操作系统的相关记录袁将其归为用户服务遥商品服务专注于商品流通数据的处理袁提供进出货尧商品报损尧商品报溢尧库存报警尧采购统计尧销售统计和进辕退货单据查询业务功能遥客户服务主要提供客户管理尧供应商管理尧销售出货尧客户退货和客户进辕退单据查询业务功能遥用户直接操作的是接入层服务袁接入层服务作数据聚合遥

图圆进销存管理系统的整体架构

圆援圆数据库设计

根据微服务架构的拆分袁数据库的设计是与三个基础服务相匹配的遥

员冤用户服务设计的数据库如图猿所示遥用户表存储用户信息袁角色表存储角色信息袁用户角色表通过外键关联存储用户的角色信息袁权限菜单表存储菜单信息袁角色菜单表通过外键关联存储角色拥有的菜单权限遥

圆冤商品类型表存储商品所属类别信息袁商品表存储商品信息袁通过外键关联于商品类别表曰报损单表记录商品的报损信息袁报损单商品表记录具体报损的是哪些商品袁通过外键关联于报损单表曰采购单表记录商品的采购信息袁采购单商品表记录采购的具体商品袁通过外键关联于采购单表曰退货单表记录企业向

基于杂责则蚤灶早悦造燥怎凿微服务架构的进销存管理系统的设计与实现

图猿用户服务数据库表

供应商的退货信息袁退货单商品表记录退货的具体商品袁通过外键关联于退货单表曰报溢表记录商品的溢出信息袁报溢单商品表记录溢出的具体商品曰商品单位表记录商品的单位信息遥

猿冤客户数据库表如图源所示遥客户表记录企业的客户信息袁客户退货单表记录客户退货信息袁通过外键关联于客户表袁客户退货单商品表记录退货单的具体商品袁通过外键关联于客户退货单表遥

图源客户数据库表

圆援猿微服务的实现和部署

基础服务的实现使用的是杂责则蚤灶早月燥燥贼垣酝赠月葬贼蚤泽袁杂责则蚤灶早鄄月燥燥贼的自动化配置可以帮助开发人员省去很多繁杂的配置袁更为重要的是杂责则蚤灶早悦造燥怎凿是基于杂责则蚤灶早月燥燥贼的袁使用它可以方便地使用杂责则蚤灶早悦造燥怎凿的组件遥每个服务采用酝灾悦的设计模式袁分为控制层尧服务层和数据访问层咱缘暂访问层直接与酝赠杂匝蕴数据库相连袁接遥入其层中的数据基础服访问务的数据则通过砸藻泽贼栽藻皂责造葬贼藻发起匀栽栽孕请求到三个基础服务遥系统的访问流程如图缘所示遥渊下转第员猿猿页冤

叶工业控制计算机曳圆园员愿年第猿员卷第员员期妖

133

猿结束语

本文主要设计和实现了自助结算餐台系统袁实现了就餐者的高效就餐袁还能让就餐者了解自己的饮食结构袁更具针对性的搭配用餐遥目前该平台的研发已经全部完成袁正在调试改进中遥

参考文献

咱员暂陈志辉袁王颖纯袁刘燕权援基于物联网环境的图书馆砸云陨阅技术应用咱猿暂温晓丽袁苏浩伟袁陈欢袁等援基于杂责则蚤灶早月燥燥贼微服务架构的城市一卡咱源暂李代立袁陈榕援宰藻遭杂燥糟噪藻贼在宰藻遭实时通信领域的研究咱允暂援电脑知

图源

砸藻凿蚤泽数据库与各数据库之间的关系

穴造燥糟噪运藻赠熏贼蚤皂藻杂藻糟燥灶凿泽熏

咱缘暂朱亚兴袁余爱民袁王夷援基于砸藻凿蚤泽垣酝赠杂匝蕴垣酝燥灶早燥阅月存储架构应咱远暂屈展袁李婵援允杂韵晕在粤躁葬曾数据交换中的应用研究咱允暂援西安石油大学咱苑暂彭楠援基于允葬增葬和憎藻遭杂燥糟噪藻贼在线门诊系统设计与实现咱阅暂援北京院

北京工业大学袁圆园员苑

咱收稿日期院圆园员愿援苑援员远暂

学报渊自然科学版冤袁圆园员员袁圆远渊员冤院怨缘原怨愿袁员圆圆用咱允暂援微型机与应用袁圆园员源袁猿猿渊员猿冤院猿原缘袁怨识与技术袁圆园员园袁远渊圆愿冤院苑怨圆猿原苑怨圆缘袁苑怨猿缘

通手机充值支撑系统研究咱允暂援电子产品世界袁圆园员苑袁圆源渊员园冤院缘怨原远圆咱圆暂杨柳援中国餐饮产业竞争力研究咱阅暂援北京院北京交通大学袁圆园园苑

现状的研究咱允暂援情报杂志袁圆园员缘袁猿源渊缘冤院员怨远原圆园员袁员愿怨

泽贼则蚤灶早砸藻凿蚤泽栽藻皂责造葬贼藻援藻曾责蚤则藻

栽蚤皂藻哉灶蚤贼援杂耘悦韵晕阅杂雪鸦

则藻贼怎则灶贼则怎藻鸦妖

藻造泽藻邀

则藻贼怎则灶枣葬造泽藻鸦妖

渊上接第员猿园页冤

则藻噪葬的注册地址进行注册遥

接入层服务以同样的方式使用阅燥糟噪藻则部署袁区别在于它本身不作为服务提供者向耘怎则藻噪葬注册中心注册自己遥整个系统运行成功的效果如图远所示遥

图远系统效果图

猿结束语

微服务架构具有独立部署尧独立技术栈尧低复杂度等特性袁十分适合今后越来越庞大的系统遥对微服务的学习和研究还处于初级阶段袁后续学习将对其进行进一步的优化袁比如搭建一个耘蕴运日志系统袁统一管理在不同服务器上的日志信息袁以期系统更加完善遥

参考文献

咱员暂洪华军袁吴建波袁冷文浩援一种基于微服务架构的业务系统设计与实

图缘

系统访问流程图

服务使用安装在阿里云中的阅燥糟噪藻则容器进行部署袁部署前需要修改每个服务的葬责责造蚤糟葬贼蚤燥灶援责则燥责藻则贼蚤藻泽配置文件袁将配置文件中的注册地址改为耘怎则藻噪葬服务端的地址遥修改完成后将它们打包成躁葬则文件上传至阿里云服务器袁编辑阅燥糟噪藻则容器的阅燥糟噪藻则枣蚤造藻文件袁输入野凿燥糟噪藻则遭怎蚤造凿原贼冶命令生成镜像袁通过野凿燥糟噪藻则则怎灶原凿原责愿园愿苑押愿园愿苑原灶葬皂藻早燥燥凿泽杂藻则增蚤糟藻原造蚤灶噪皂赠皂赠泽择造押皂赠皂赠泽择造缘枣缘糟糟凿糟愿葬藻凿糟渊皂赠泽择造镜像陨凿冤冶命令在镜像生成的容器中运行服务袁此时服务会根据配置文件中的耘怎鄄

咱圆暂马雄援基于微服务架构的系统设计与开发咱阅暂援南京院南京邮电大学袁咱猿暂刘先纺援基于阅怎遭遭燥的网上订餐系统咱阅暂援广州院华南理工大学袁咱源暂李秋池援基于微服务架构的促销系统的设计与实现咱阅暂援南京院南京大咱缘暂李洋援杂杂酝框架在宰藻遭应用开发中的设计与实现咱允暂援计算机技术与

发展袁圆园员远袁圆远渊员圆冤院员怨园原员怨源

咱收稿日期院圆园员愿援远援圆园暂

学袁圆园员苑圆园员远圆园员苑

现咱允暂援计算机与数字工程袁圆园员愿袁源远渊员冤院员源怨原员缘源

因篇幅问题不能全部显示,请点此查看更多更全内容