基于微服务架构的船货供求信息平台的设计实现.pdf
《基于微服务架构的船货供求信息平台的设计实现.pdf》由会员分享,可在线阅读,更多相关《基于微服务架构的船货供求信息平台的设计实现.pdf(4页珍藏版)》请在咨信网上搜索。
1、收稿日期:研究项目:安徽省 年 高 校 重 点 自 然 科 学 研 究 项 目“基 于 云 边 协 同 计 算 的 生 态 型 交 叉 口 信 号 配 时 优 化 系 统 研 究”(项 目 号:K J A )、安徽 省 年 质 量 工 程 项 目“基 于I S T Q B认 证 的 软 件 测 试 课 程 教 学 改 革 研 究 与 实 践”(项 目 号:j y x m ).作者简介:陆婷婷(),女,安徽巢湖人,副教授,研究方向:计算机应用、软件开发.第 卷第期芜湖职业技术学院学报 年月V o l N o J o u r n a l o fW u h uI n s t i t u t eo f
2、T e c h n o l o g yJ u n,基于微服务架构的船货供求信息平台的设计实现陆婷婷,殷佳庭(芜湖职业技术学院 网络工程学院,安徽 芜湖 )摘要:传统的单体应用程序存在用户体验差、不易维护、系统伸缩性弱等缺点,而基于微服务架构技术开发的信息系统具有较强的可维护性、复杂度可控、技术选择灵活等多种优势.船货供求信息平台采用微服务架构技术开发实现,由船源微服务、货源微服务、网关微服务等多个微服务组成,各个微服务能独立部署,功能完备.实验测试表明,船货供求信息平台运行稳定,解决了交易主体之间存在的信息不对称、沟通成本较高等问题,为航运企业、船东等交易主体带来了便利.关键词:微服务;N a
3、 c o s;数据库;架构设计;J WT中图分类号:T P 文献标识码:A文章编号:()航运信息服务是航运服务体系中重要的一环,正在向信息化方向发展.目前,我国有大量注册从事港口航运的航运服务公司.国内有相关学者统计过,截至 年,仅南京地区,从事港口航运的航运服务公司达 多家,货运代理公司有 多家,船舶代理公司就有 多家.各航运服务公司发布的航运资源存在信息分散、不对称等问题,船货供求信息平台建设已势在必行.微服务技术选择传统的单体应用程序存在很多问题,比如代码耦合度较高、代码不灵活、规模大、部署难度大等.微服务开发架构的出现刚好能解决这些问题,实现代码的松耦合.在使用J a v a开发的微服
4、务程序代码中,每个微服务都是运行在各自的J a v a虚拟机进程中,系统本质上是由多个微服务组成的一个统一整体,能实现权限验证、策略过滤、日志管理等功能.目前,较常见的微服务开发框架包含S p r i n gC l o u d、D u b b o等,S p r i n gC l o u d可以提供一整套服务组件,功能全面,项目采用S p r i n gC l o u d作为船货供求信息平台的微服务开发框架.架构设计船货供求信息平台包含多个层级,分别为用户层、业务服务层、基础设施层等.详细的系统架构设计图如图所示:图系统架构设计图 用户层用户层主要以客户端的形式存在,客户端包含P C端、网页端、
5、A P P端等形式.客户端通过HT T PA P I向服务器接口发起请求,服务器处理请求并回发数据给客户端.业务服务层业务服务层主要是负责处理实际的业务逻辑和来自客户端的请求,包含微服务处理中心、N a c o s等.微服务中心包含船源微服务、货源微服务、资源管理微服务、会员微服务、网关微服务、广告微服务、权限验证微服务、行为分析微服务、评论微服务等.为实现“服务注册”功能,需要在每个微服务的启动程序类(S p r i n g B o o t A p p l i c a t i o n注 解)前 面 添 加 注 解E n a b l e D i s c o v e r y C l i e n
6、t,并在N a c o s配置管理中心对所有微服务的配置信息进行登记.基础设施层基础设施层为业务服务层提供相关的服务.底层操作系统使用C e n t o s,在每个C e n t o s 上安装D o c k e r容器服务,安装M y s q l、M o n g o D B、R e d i s、F a s t D F S等容器镜像.M y s q l存储业务相关的数据库信息,包含船源信息、货源信息等;M o n g o D B数据库用于存取评论等数据;R e d i s用于高效存储系统运行的缓存数据,提高系统读写效率.F a s t D F S文件系统主要用于存储用户图片、文件等非结构化数据
7、.系统运行中会产生大量非结构化数据,包含船舶图片、货源图片、个人图片、广告图片等,这些非结构化数据会存储在F a s t D F S文件系统中.数据库设计对于每个微服务,都要实现清晰的服务边缘,设计合理的数据库是实现微服务应用程序开发的关键.数据库设计的基本思路如下:“对”原则每一个微服务数据库对应于一个微服务,每个微服务也只能调用自己的数据库,不能调用其他微服务的数据库.这样做具有减小服务器接口的体积、轻松实现错误排查等优势.适当的数据同步机制系统中会存在一些多个微服务都需要访问的数据,比如港口的地址、经纬度信息等.对于这部分的共享数据,可以在相关的微服务数据库中,单独进行维护,并通过建立适
8、当的数据同步机制的方式,实现共享数据的统一.增加冗余字段为减少数据库的计算时间,可以适当设计冗余字段.比如,对于在广告数据表中查询发送人信息,常规做法是在广告数据表添加一个发送人编号,如果要查询发送人的基本信息,则需要根据发送人编号才能查询用户的详细信息.这样的查询方式增加了数据库的计算时间,效率较低.为提升数据查询效率,项目在设计数据库时,除了广告编号、广告标题、广告图片、广告超链接、广告点击次数等必须的字段外,还额外增加了发送人编号、发送人姓名、发送人电话等冗余信息,这样可以快速查找到广告发送人的相关信息.基于微服务的思想和上述原则,最终确定设计个数据库:S h i p S o u r c
9、 e数据库,用于存储船源信息;G o o d s S o u r c e数据库,用于存储货源信息;U s e r D B数据库存,用于储会员信息;l o g D B数据库用于存储用户行为日志信息;C o mm e n t D B数据库,用于存储用户的评论数据;R o l e D B数据库,用于存储角色相关信息;A d D B数据库,用于存储用户投放的广告信息.主要实现过程 基础开发环境搭建开发环境的搭建需要选取台安装C e n t o s 操作系统的虚拟主机,在每台机器上安装D o c k e r容 器 软 件,分 别 取 名 为M y s q l h o s t、R e d i s F a
10、s t D F S h o s t、M o n g o D B h o s t和N a c o s h o s t,并将台主机的I P地址端规划为 x/网段,以确保虚拟主机相互之间能同宿主机(本地主机)进行通信.M y s q l h o s t主机用于部署M y s q l容器,M y s q l容器的 端口映射到本地 开 发 机 器 上 的 号 端 口;R e d i s F a s t D F S h o s t主机用于部署R e d i s缓存容器和F a s t D F S分 布 式 文 件 系 统 的 容 器;M o n g o D B h o s t主机用于部署M o n g o
11、 D B容器.容器安装完成后,需要测试容器的连接情况,其步骤是:()在开发机器上安装N a v i c a t f o rM y s q l工具,输入远程主机地址 ,端口号输入 ,测试连接情况;()使用R o b o t T工具连接M o n g o D B数据库;()在开发机器的浏览器中输入h t t p:/:,检查N a c o s的连接情况,如出现N a c o s首页即表示N a c o s成功连接.模块创建项目由父工程 模 块、C h u a n H u o_M o d e l模块、网关模块等多模块组成.父工程模块创建父工程模块实质上是一个M a v e n工程,其 芜湖职业技术学院
12、学报 年第 卷作用是为了统一控制项目工程的组件版本及公共组件的配置管理等.子工程模块的p o m文件继承自父工程的p o m文件,子工程模块的p o m文件只需要关心自己的组件,其他子组件以及版本控制依赖于父工程模块的p o m文件.这样做会提升代码的编码效率,减少代码开发工作量.C h u a n H u o_M o d e l模块系统在运行的过程中,会存在大量的数据传输,比如服务器接口返回的数据、数据层和数据表之间映射等.对这些数据的结构需要进行合理的设计,旨在提升程序代码的合理性.按照约定规则,在C h u a n H u o_M o d e l模块源代码中创建p o j o s、p o
13、 s、d t o s、b o s等文件夹.其中p o j o s用于将数据层的数据对应到数据库中的数据表;p o s用于表示从数据库中查询到的一条数据对象;d t o s称为数据传输对象,使用d t o s会对发送到客户端的数据进行必要的精简,从而避免出现数据大量占用网络带宽的现象,提升平台运行性能;b o s表示的类型用于业务服务层,当数据较为复杂时,将多个数据进行拼接,使用b o s对象进行 传 递;v o s用 于 向 浏 览 器 页 面 传 递 数 据对象.网关模块网关模块包含路由控制、统一认证、全局过滤等功能,命名为C h u a n H u o_G a t e w a y,客户端发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 微服 架构 船货 供求信息 平台 设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。