Java应用开发(中、高级)课件 任务4.1 设计划分微服务_第1页
Java应用开发(中、高级)课件 任务4.1 设计划分微服务_第2页
Java应用开发(中、高级)课件 任务4.1 设计划分微服务_第3页
Java应用开发(中、高级)课件 任务4.1 设计划分微服务_第4页
Java应用开发(中、高级)课件 任务4.1 设计划分微服务_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目4

容器化微服务架构

设计、开发与实施【学习目标】本项目主要学习微服务架构的设计、开发与部署,了解微服务架构的设计思路,掌握使用Eureka框架构建服务注册中心、使用feign框架便捷地调用服务接口、使用Hystrix框架实现容错处理等微服务技术框架,解决单体应用架构可靠性差、扩展能力受限等问题;了解系统容器化的部署方式,掌握使用Docker镜像制作与部署各个服务,解决系统快速部署的问题。【项目介绍】将项目四的餐厅点餐系统使用微服务架构的设计思路进行改造升级,基于主流的微服务开发框架SpringCloud,结合常用的技术框架实现服务的注册与管理、服务之间的调用、熔断处理以及系统的容器化部署。【知识结构】任务1.设计划分微服务任务描述按照微服务架构重新设计餐厅点餐系统,按照该系统的特定功能拆分出独立的服务以及定义这些服务需要提供的接口服务。知识准备1.微服务架构介绍:微服务架构是一种架构模式,它把应用程序功能分解为一组小的服务为用户提供最终价值,服务之间互相协调、互相配合,经常采用HTTP资源API这样轻量的机制来相互通信,这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。简单说微服务架构是一种架构风格,可为应用程序提供更高的可维护性、可测试性和可部署性。2.服务是什么:服务就是一个单一的、可独立部署的软件组件,它实现了一些有用的功能,服务具有接口,为其客户端提供对功能的访问,比如用户服务。3.微服务架构特点:1)由完成特定功能的小服务组成,把一个系统拆分成多个模块,每个模块又可以细分多个微服务,每个服务都可独立的并且支持多节点部署,运行在独立的进程中。2)去中心化的服务治理,每个微服务允许使用不同的技术来开发,且数据可以不再单独的保存在一个数据库中,允许多种数据库技术。3)高内聚低耦合的设计,组成各个应用的微服务,都要尽可能地实现“高内聚和低耦合”的目标,每个微服务都拥有自己的领域边界和完整的业务逻辑。4)容错设计和弹性设计,当服务发生故障时,能够快速地试错,能够快速地检测出故障,而且能够在一定的情况下自动恢复。5)自动化运维,基础设施例如服务器、数据库、中间件等能够弹性且自动化分配资源,微服务迭代构建要能够满足自动化的提交版本、自动化代码检查、自动化测试、自动化部署以及监控等。4.微服务的设计步骤:1)定义系统操作,将应用程序的需求提炼为各种关键请求;2)定义服务,将系统拆分为多个小服务;3)定义服务接口,确定每个服务的接口,将1)中的关键请求分配给到各个服务接口。5.微服务的拆分设计方法:决定如何把系统分解为一组服务就是微服务架构的关键,常见的服务拆分模式有以下两种模式:1)根据业务能力分解模式,围绕业务功能组织服务;2)根据子域分解模式,子域围绕领域驱动设计来组织服务。任务实施步骤1:定义系统操作操作者用户故事请求接口描述管理员、服务员、后厨人员用户登录/login

用户验证并授权访问资源服务员菜品列表/getdishesbypage获取菜品列表服务员设定桌号/settableid设定点餐的餐桌号服务员点餐提交/addcart/commitcart提交点餐服务员订单列表/getpaylist/requestpay获取待支付列表后厨人员菜品烹饪管理/getrtdishes/dishesdone/getrtorder"通过按钮确定对应菜品的烹制状态(准备烹制、正在烹制、烹制完毕)管理员用户管理/adduser/modifyuser/deleteuser/getonlinekitchen/getonlinewaiters/getuserbypage用户的增删改查功能管理员菜品管理/adddishes/modifydishes/deletedishes/getdishesbypage菜品的增删改查功能根据用户故事识别系统必须处理的各种请求,识别出应用程序的核心系统操作,见表5-1。表5-1用户故事接口表步骤2:定义服务使用业务服务能力进行业务拆分,然后从业务能力定义出服务。订餐系统的核心业务能力如下:1)用户管理,管理服务员和后厨人员的操作流程和权限;2)菜品管理,管理菜品的添加、修改和删除;3)订单管理,管理从点餐、确认菜品订单到完成订单的全过程;1)菜品烹制管理,管理菜品烹制状态。根据核心业务定义服务,对应列表见表5-2。核心业务能力服务用户管理UserService菜品管理DishService订单管理OrderService菜品烹制管理表5-2核心业务服务对应表步骤3:定义服务接口定义了系统操作列表和服务列表之后,下一步就是定义每个服务的接口,该接口可以由外部客户端调用,也可以有其他服务调用。定义UserService的服务接口,见表5-3。接口功能HTTP请求方式URL地址支持格式获取用户列表GET/getuserbypageJSON新增用户数据POST/adduserJSON修改用户数据POST/adminmodifyuserJSON删除用户数据GET/deleteuserJSON表5-3服务接口表知识小结【对应证书技能】1)掌握微服务的常规设计步骤:定义系统操作、定义服务以及定义服务接口。根据用户需求识别系统必须处理的各种请求来定义系统的操作,然后根据业务能力分解模式,围绕业务功能组织服务,形成UserService、DishService和OrderService三个服务,最后将系统操作对用到服务的接口。2)基于RestfulAPI规范设计服务的接口,满足系统操作的需求。本任务知识技能点与等级证书技能的对应关系见表5-4。任务1知识技能点对应证书技能知识点技能点工作领域工作任务职业技能要求等级软件服务接口设计原则使RestfulAPI规范设计服务的接口2.软件后端设计2.3服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论