- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于SpringCloud架构的“分布式微服务”课程开发研究
?
?
杨骁卢涤非
摘要:根据互联网行业发展和企业岗位需求,分析微服务人才必备的知识结构,以及技能和素质要求,提出“分布式微服务”课程的主要内容为SpringCloud架构及其技术。基于SpringCloud开发框架,以企业级的电商后台项目为载体,引入真实的企业软件开发流程,实施企业项目化教学,培养学生未来工作所需的能力及素质。
关键词:分布式微服务;SpringCloud;企业级电商后台;软件开发;项目化教学
:G642.0:A:1006-8228(2020)08-91-04
0引言
随着互联网业务规模的迅速发展,软件服务和系统的复杂度也快速增长。由于传统的单体架构无法满足快速迭代、持续交付、系统扩展性等需求,因此需要将原来的系统拆分为独立的服务单元,形成多个微服务。而微服务之间难免会存在依赖关系,这就需要使用分布式技术来解决系统拆分后遇到的问题,因此,企业对分布式微服务人才的需求愈来愈迫切。分布式微服务课程旨在培养计算机网络技术专业学生从事JavaWeb开发与应用所需的技能。本文结合计算机网络技术专业人才培养目标和JavaWeb开发工程师资格标准,探讨分布式微服务课程开发路径、内容构建及SpringCloud在企业级项目教学中的应用。
1分布式微服务课程的开发思路
1.1开发路径
课程的开发与设计是教学的重点[1],从工作需要出发是课程开发的起点嘲。根据对计算机网络技术专业毕业生的就业情况分析、市场调查和社会招聘需求分析,确定该课程对应的职业岗位为JavaWeb后台开发工程师,而这一岗位普遍提出了对分布式微服务技术的要求,其典型工作任务为需求分析、系统方案设计、软件开发、系统调试、系统部署及维护,从而可以归纳出行动领域要求的相应的专业能力、方法能力和社会能力,最后转化为对课程教学内容的选取和学习情境的设计。课程开发思路如图1所示。
1.2JavaWeb开发技术栈
专业技术栈是从事专业某个岗位(群)所需要掌握的一系列技能的组合。结合本课程对应的以JavaWeb为核心的分布式微服务开发工程师的技术需求,可归纳出该职业岗位所需要的专业技术栈(如图2所示)。
技术栈中的Java语言基础、JavaWeb基础知识、JavaWeb框架对应的前导课程分别是“Java程序语言设计”、“JavaWeb开发”和“JavaEE企业级应用开发”。而Java分布式微服务技术就是“分布式微服务”这门课程所要培养的技能。
2分布式微服务课程内容的构建
2.1课程内容构建的原则
课程内容的构建是课程建设与改革的重点与难点。课程内容的选取要以技术领域和职业岗位(群)的任職要求,参照相关职业资格标准,重视其“针对性”和“适用性”;也要兼顾技术领域的更新和学生的可持续发展,突出其“发展性”。此外,课程内容的组织应以真实工作任务及其工作过程为依据,或以典型项目为依托,以能力为主线,对学习情境(或项目、或主题单元)进行结构化、系统化的设计,课程各模块之间有合理的逻辑结构[3],体现其“逻辑性”。
2.2SpringCloud架构及其内容
根据上述课程内容构建的原则要求,通过对主流的分布式微服务框架进行分析,从而将分布式微服务开发框架SpringCloud及其相关技术明确为微服务课程的主要教学内容。
当系统由单体应用拆分成分布式服务后,单体应用中的各个模块被划分到了各个子系统,各个模块之间的相互调用变成子系统之间的网络交互。SpringCloud提供了一系列框架来进行分布式服务的构建,如图3所示:分布式注册中心Eureka、负载均衡组件Ribbon、分布式网关Zuul、声明式调用组件Feign和熔断器Hystrix。
3SpringCloud在企业级项目化教学中的应用
3.1企业级电商后台项目
面向企业真实生产环境的项目化教学模式是“引企入教”课程改革思想的生动实践,有利于教学做一体化的实施,有利于提高学生的应用能力和学习积极性。本课程选择电商项目作为载体主要基于两点考虑:首先,学生在生活中经常使用过淘宝、京东等电商平台,是电商产品的用户,在业务理解上相对容易。其次,该电商项目由多个模块组成,且各模块之间有信息交互,具有一定的复杂度和综合性,适合使用分布式微服务技术来构建系统。
电商后台可以拆分为商品中心、订单中心、支付中心、会员中心等子系统。在一个完整的交易链路上,需要各个子系统之间相互交互,因此各个子系统都需要采用SpringCloud来进行构建。
3.2企业软件开发真实流程的引入
3.2.1真实企业级项目引入教学的优势
传统项目式教学的不足在于,学生往往实现的只是具体的某项功能;而在实际工作中,需面对的却是现实生活中的各种
文档评论(0)