admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:双链表排序)

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

129

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

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

周永圣侯峰裕孙雯杨磊张小贝

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

摘要院企业资源计划渊耘灶贼藻则责则蚤泽藻砸藻泽燥怎则糟藻孕造葬灶灶蚤灶早冤是当前流行的企业信息化管理模式袁其中整合采购尧销售和库存

的管理系统是其重要组成部分遥然而袁随着企业自身的发展壮大袁进销存管理系统也会越来越笨重和庞大遥为此袁引入基于

杂责则蚤灶早悦造燥怎凿的微服务架构袁对系统进行总体架构设计与子服务的拆分袁最后使用阅燥糟噪藻则容器部署各个子服务袁实现了系

统的小型化和简单化袁便于系统根据企业业务的发展进行扩展遥为企业资源计划进程中遇到的问题提出了一种解决方案袁有

机会应用于未来企业信息系统的架构中遥

关键词院企业资源计划袁

杂责则蚤灶早悦造燥怎凿

袁微服务袁

阅燥糟噪藻则

粤遭泽贼则葬糟贼押栽澡藻皂蚤糟则燥泽藻则增蚤糟藻泽葬则糟澡蚤贼藻糟贼怎则藻遭葬泽藻凿燥灶杂责则蚤灶早悦造燥怎凿蚤泽蚤灶贼则燥凿怎糟藻凿贼燥凿藻泽蚤早灶贼澡藻燥增藻则葬造造葬则糟澡蚤贼藻糟贼怎则藻燥枣贼澡藻

泽赠泽贼藻皂葬灶凿贼澡藻泽藻责葬则葬贼藻泽怎遭原泽藻则增蚤糟藻泽熏葬灶凿怎泽藻泽阅燥糟噪藻则糟燥灶贼葬蚤灶藻则贼燥凿藻责造燥赠泽怎遭原泽藻则增蚤糟藻泽熏贼燥葬糟澡蚤藻增藻贼澡藻泽赠泽贼藻皂鸳泽皂蚤灶蚤葬贼怎则鄄

蚤扎葬贼蚤燥灶熏泽蚤皂责造蚤枣蚤糟葬贼蚤燥灶熏葬灶凿枣葬糟蚤造蚤贼葬贼藻贼澡藻泽赠泽贼藻皂葬糟糟燥则凿蚤灶早贼燥贼澡藻凿藻增藻造燥责皂藻灶贼燥枣藻灶贼藻则责则蚤泽藻遭怎泽蚤灶藻泽泽贼燥藻曾贼藻灶凿蚤灶贼澡蚤泽责葬责藻则援粤

泽燥造怎贼蚤燥灶贼燥贼澡藻责则燥遭造藻皂泽藻灶糟燥怎灶贼藻则藻凿蚤灶贼澡藻藻灶贼藻则责则蚤泽藻则藻泽燥怎则糟藻责造葬灶灶蚤灶早责则燥糟藻泽泽蚤泽责则燥责燥泽藻凿葬灶凿澡葬泽贼澡藻燥责责燥则贼怎灶蚤贼赠贼燥遭藻

葬责责造蚤藻凿贼燥贼澡藻葬则糟澡蚤贼藻糟贼怎则藻燥枣枣怎贼怎则藻藻灶贼藻则责则蚤泽藻蚤灶枣燥则皂葬贼蚤燥灶泽赠泽贼藻皂泽援

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

进销存管理系统是耘砸孕渊耘灶贼藻则责则蚤泽藻砸藻泽燥怎则糟藻孕造葬灶灶蚤灶早冤

系统的重要组成部分袁它主要涉及到企业的采购尧销售和库存三

个核心流程袁并将其整合到一起遥随着企业的发展壮大袁企业可

能会开展新的业务袁这就需要为其配置相应的管理服务遥同时袁

企业也可能需要对原有系统进行一些服务的升级和优化袁这就

需要原有系统具有高可扩展性尧高灵活性遥

传统的单体架构袁由于逻辑过于耦合袁在后续的改进中很有

可能出现牵一发而动全身的窘境

咱员暂

遥而微服务架构的出现袁可以有

效地解决此类问题遥通过微服务架构袁可以将复杂的系统拆分为

多个相对简单的小问题袁为每个小问题开发相应的小服务袁每个

小服务独立运行遥以业务需求为中心袁小服务之间可通过轻量级

通信机制来协调袁从而实现了系统的高灵活性尧高可扩展性

咱圆暂

遥本

文提出了以微服务架构去解决企业进销存管理系统在后续的升

级尧扩展和维护方面的问题袁研究了根据业务特点拆分微服务的

细节袁实现了阅燥糟噪藻则容器下的微服务的部署

咱猿暂

员主要技术框架

杂责则蚤灶早悦造燥怎凿是一系列框架的有序集合袁这些框架致力于

分布式服务治理袁它本身不会提供具体功能的操作袁更专注于服

务之间的通讯尧熔断尧监控袁它有很多组件来支持一套功能遥本文

主要使用耘怎则藻噪葬尧砸藻泽贼栽藻皂责造葬贼藻垣砸蚤遭遭燥灶和匀赠泽贼则蚤曾遥

员援员耘怎则藻噪葬

杂责则蚤灶早悦造燥怎凿耘怎则藻噪葬使用晕藻贼枣造蚤曾耘怎则藻噪葬来实现服务的注

册和发现遥耘怎则藻噪葬使用的是允葬增葬程序语言编写的袁所以它特别

适合用允葬增葬实现的微服务系统遥耘怎则藻噪葬既是客户端组件也是

服务端组件袁在具体使用时通过注解来区分遥此外袁耘怎则藻噪葬不仅

仅适合允葬增葬实现的微服务袁也支持非允葬增葬语言开发的微服务袁

这是因为耘怎则藻噪葬的服务端组件向开发人员提供了较为完善的

砸耘杂栽风格的粤孕陨袁这一特性给开发人员提供了多种技术栈的

选择遥耘怎则藻噪葬的架构如图员所示遥

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

图员耘怎则藻噪葬架构

的互相注册实现高可用配置袁当注册中心的服务过低时袁耘怎则藻噪葬

会转入自我保护模式遥耘怎则藻噪葬客户端袁即服务提供者袁客户端通

过配置注册中心的地址袁在微服务启动时袁耘怎则藻噪葬客户端根据

配置的地址向注册中心注册自身提供的服务袁为避免注册中心

的服务不可用的发生袁客户端需要周期性地向注册中心发送心

跳来表明自身服务正常遥

员援圆砸藻泽贼栽藻皂责造葬贼藻垣砸蚤遭遭燥灶

员冤砸藻泽贼栽藻皂责造葬贼藻是杂责则蚤灶早提供的用于访问砸藻泽贼服务的

客户端袁它提供了多种访问远程匀栽栽孕服务的快捷方法袁大大提

高了开发人员的效率遥

圆冤砸蚤遭遭燥灶是一款云中间层服务的开源项目袁由国外的

晕藻贼枣造蚤曾发布和维护袁主要的目的是提供客户端负载均衡算法袁

砸蚤遭遭燥灶组件提供了一系列完善的配置项袁用户可根据需要自行

选择遥即砸蚤遭遭燥灶是一个客户端负载均衡器袁可以很好地控制

匀栽栽孕和栽悦孕的一些行为遥用户可通过开启岳蕴燥葬凿月葬造葬灶糟藻凿

注解袁砸蚤遭遭燥灶会自动根据某种规则渊如简单轮询和随机连接冤去

访问服务提供者袁此外用户还可以使用砸蚤遭遭燥灶实现自定义的

负载均衡算法遥

130

员援猿匀赠泽贼则蚤曾

在微服务架构中袁为了保证服务的高可用性袁单个服务通常

会集群部署遥如果这些服务之间通信时由于网路问题或者自身

的不完善导致服务调用失败袁那么调用这个服务就会出现线程

阻塞袁此时若有大量的请求涌入袁杂藻则增造藻贼容器的线程资源会被

消耗完毕袁导致服务瘫痪遥由于服务之间的依赖性袁故障会传播袁

从而对整个微服务架构系统造成服务故障的野雪崩冶效应遥

匀赠泽贼则蚤曾通过断路器机制解决上述问题遥匀赠泽贼则蚤曾是晕藻贼枣造蚤曾

的开源组件袁杂责则蚤灶早悦造燥怎凿对这一组件进行了整合袁当较低层的

务出现故障时袁此时对其调用失败的频度达到一个阈值

匀赠泽贼则蚤曾

袁使用

枣葬造造遭葬糟噪穴雪

缘泽圆园

冤袁

对其直接

断路器

返回

就会

定值

为避免

故障连锁反

圆系统设计与实现

针对进销存管理系统的特点袁并结合微服务架构的拆分原

则袁将其拆分为三个基础服务和一个接入层服务袁三个基础服务

配有相应的数据库袁最后使用阅燥糟噪藻则容器实现了服务的独立部

署运行

咱源暂

圆援员整体

架构

系统的整体架构如图圆所示遥系统整体分为用户服务尧商品

服务尧客户服务和一个接入层服务遥用户服务作为一个基础服

务袁主要关注于与用户相关的数据操作袁主要提供用户管理尧角

色管理尧系统日志尧修改密码和安全退出五个业务功能遥其中系

统日志存储了用户操作系统的相关记录袁将其归为用户服务遥商

品服务专注于商品流通数据的处理袁提供进出货尧商品报损尧商

品报溢尧库存报警尧采购统计尧销售统计和进辕退货单据查询业务

功能遥客户服务主要提供客户管理尧供应商管理尧销售出货尧客户

退货和客户进辕退单据查询业务功能遥用户直接操作的是接入层

服务袁接入层服务作数据聚合遥

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

圆援圆数据库设计

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

相匹配的遥

员冤用户服务设计的数据库如图猿所示遥用户表存储用户信

息袁角色表存储角色信息袁用户角色表通过外键关联存储用户的

角色信息袁权限菜单表存储菜单信息袁角色菜单表通过外键关联

存储角色拥有的菜单权限遥

圆冤商品类型表存储商品所属类别信息袁商品表存储商品信

息袁通过外键关联于商品类别表曰报损单表记录商品的报损信

息袁报损单商品表记录具体报损的是哪些商品袁通过外键关联于

报损单表曰采购单表记录商品的采购信息袁采购单商品表记录采

购的具体商品袁通过外键关联于采购单表曰退货单表记录企业向

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

图猿用户服务数据库表

供应商的退货信息袁退货单商品表记录退货的具体商品袁通过外

键关联于退货单表曰报溢表记录商品的溢出信息袁报溢单商品表

记录溢出的具体商品曰商品单位表记录商品的单位信息遥

猿冤客户数据库表如图源所示遥客户表记录企业的客户信息袁

客户退货单表记录客户退货信息袁通过外键关联于客户表袁客户

退货单商品表记录退货单的具体商品袁通过外键关联于客户退

货单表遥

图源客户数据库表

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

基础服务的实现使用的是杂责则蚤灶早月燥燥贼垣酝赠月葬贼蚤泽袁杂责则蚤灶早鄄

月燥燥贼的自动化配置可以帮助开发人员省去很多繁杂的配置袁更

为重要的是杂责则蚤灶早悦造燥怎凿是基于杂责则蚤灶早月燥燥贼的袁使用它可以方

便地使用杂责则蚤灶早悦造燥怎凿的组件遥每个服务采用酝灾悦的设计模

式袁分为控制层尧服务层和数据访问层

咱缘暂

访问层直接与酝赠杂匝蕴数据库相连袁接

的数据

基础服

访问

务的数据

则通过

砸藻泽贼栽藻皂责造葬贼藻发起匀栽栽孕请求到三个基础服务遥系统的访问流

程如图缘所示遥

渊下转第员猿猿页冤

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

133

猿结束语

本文主要设计和实现了自助结算餐台系统袁实现了就餐者

的高效就餐袁还能让就餐者了解自己的饮食结构袁更具针对性的

搭配用餐遥目前该平台的研发已经全部完成袁正在调试改进中遥

参考文献

咱员暂陈志辉袁王颖纯袁刘燕权援基于物联网环境的图书馆砸云陨阅技术应用

咱猿暂温晓丽袁苏浩伟袁陈欢袁等援基于杂责则蚤灶早月燥燥贼微服务架构的城市一卡

咱源暂李代立袁陈榕援宰藻遭杂燥糟噪藻贼在宰藻遭实时通信领域的研究咱允暂援电脑知

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

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

咱缘暂朱亚兴袁余爱民袁王夷援基于砸藻凿蚤泽垣酝赠杂匝蕴垣酝燥灶早燥阅月存储架构应

咱远暂屈展袁李婵援允杂韵晕在粤躁葬曾数据交换中的应用研究咱允暂援西安石油大学

咱苑暂彭楠援基于允葬增葬和憎藻遭杂燥糟噪藻贼在线门诊系统设计与实现咱阅暂援北京院

北京工业大学袁圆园员苑

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

学报渊自然科学版冤袁圆园员员袁圆远渊员冤院怨缘原怨愿袁员圆圆

用咱允暂援微型机与应用袁圆园员源袁猿猿渊员猿冤院猿原缘袁怨

识与技术袁圆园员园袁远渊圆愿冤院苑怨圆猿原苑怨圆缘袁苑怨猿缘

通手机充值支撑系统研究咱允暂援电子产品世界袁圆园员苑袁圆源渊员园冤院缘怨原远圆

咱圆暂杨柳援中国餐饮产业竞争力研究咱阅暂援北京院北京交通大学袁圆园园苑

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

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

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

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

藻造泽藻邀

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

渊上接第员猿园页冤

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

接入层服务以同样的方式使用阅燥糟噪藻则部署袁区别在于它本

身不作为服务提供者向耘怎则藻噪葬注册中心注册自己遥整个系统运

行成功的效果如图远所示遥

图远系统效果图

猿结束语

微服务架构具有独立部署尧独立技术栈尧低复杂度等特性袁

十分适合今后越来越庞大的系统遥对微服务的学习和研究还处

于初级阶段袁后续学习将对其进行进一步的优化袁比如搭建一个

耘蕴运日志系统袁统一管理在不同服务器上的日志信息袁以期系统

更加完善遥

参考文献

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

图缘系统访问流程图

服务使用安装在阿里云中的阅燥糟噪藻则容器进行部署袁部署前

需要修改每个服务的葬责责造蚤糟葬贼蚤燥灶援责则燥责藻则贼蚤藻泽配置文件袁将配置

文件中的注册地址改为耘怎则藻噪葬服务端的地址遥修改完成后将它

们打包成躁葬则文件上传至阿里云服务器袁编辑阅燥糟噪藻则容器的

阅燥糟噪藻则枣蚤造藻文件袁输入野凿燥糟噪藻则遭怎蚤造凿原贼冶命令生成镜像袁通过

野凿燥糟噪藻则则怎灶原凿原责愿园愿苑押愿园愿苑原灶葬皂藻早燥燥凿泽杂藻则增蚤糟藻原造蚤灶噪

皂赠皂赠泽择造押皂赠皂赠泽择造缘枣缘糟糟凿糟愿葬藻凿糟渊皂赠泽择造镜像陨凿冤冶命令在镜

像生成的容器中运行服务袁此时服务会根据配置文件中的耘怎鄄

咱圆暂马雄援基于微服务架构的系统设计与开发咱阅暂援南京院南京邮电大学袁

咱猿暂刘先纺援基于阅怎遭遭燥的网上订餐系统咱阅暂援广州院华南理工大学袁

咱源暂李秋池援基于微服务架构的促销系统的设计与实现咱阅暂援南京院南京大

咱缘暂李洋援杂杂酝框架在宰藻遭应用开发中的设计与实现咱允暂援计算机技术与

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

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

学袁圆园员苑

圆园员远

圆园员苑

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


本文标签: 服务 系统 架构 实现 商品