微服务架构原理和设计方法讲义课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微服务架构原理和设计方法讲义课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微服 架构 原理 设计 方法 讲义 课件
- 资源描述:
-
1、v微服务架构原理和设计方法目录目录微服务架构起源1微服务与关联理论2微服务架构介绍3微服务应用及平台设计4微服务相关技术5企业架构企业架构 企业架构是指对企业信息管理系统中具有体系的、普遍性的问题而提供的通用解决方案,是基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息系统。企业架构如同战略规划,可以辅助企业完成业务及IT战略规划。业务架构:是把企业的业务战略转化为日常运作的渠道,业务战略决定业务架构,它包括业务的运营模式、流程体系、组织结构、地域分布等内容 IT架构:指导IT投资和设计决策的IT框架,是建立企业信息系统的综合蓝图,包括数据架构、应用架构和技术架构三部
2、分。TOGAF架构架构 TOGAF 由国际标准权威组织The Open Group制定。1993年开始应客户要求制定系统架构的标准,在1995年发表(TOGAF)架构框架。TOGAF的基础是美国国防部的信息管理技术架构,是基于一个迭代的过程模型,支持最佳实践和一套可重用的现有架构资产。它可设计、评估、并建立组织的正确架构。企业架构方法有很多,但TOGAF是最主流的。TOGAF产出物产出物TOGAF产出物产出物微服务架构起源微服务架构起源-企业转型企业转型 传统企业的IT建设需要转型,需要面向外部客户,需要应对外部环境的快速变化、需要快速创新,IT架构也需要向互联网企业学习作出相应的改进,来支撑
3、企业的数字化转型。先是单块架构,后来为了具备一定的扩展和可靠性,就有了垂直架构,也就是加了个负载均衡,接下来是SOA,解决应用系统之间如何集成和互通,微服务架构则是进一步在探讨一个应用系统该如何设计才能够更好的开发、管理更加灵活高效。微服务架构起源微服务架构起源-问题问题微服务起源微服务起源-愿景愿景象更换零件一样更换软件微服务架构起源微服务架构起源-技术基础技术基础 微服务是在应用技术栈范畴,跟其他的应用技术一样都是具有系统分析、建模的能力,并不是一个纯粹的框架或技术,而是一个综合性的架构模式。微服务是进化出来的。“解释一个概念需要用另外几个概念来解释,但是解释另外几个概念还需要其他概念来解
4、释”,所以要聚焦领域,每个领域都是深不见底,都有他的知识体系,都有他的技术栈。微服务架构起源微服务架构起源-技术基础技术基础 技术具体讲就是分析、设计、建模,落地实施方法。包括几个重量级的技术体系:TOGAF 企业信息架构框架DDD 领域驱动设计SOA 面向服务架构GRASP 通用软件职责设计模式彩色建模四色原型模式 GRASP主要是辅助职责设计,四色原型主要是捕捉实体的事件发生序列,不会让你丢失关键业务场景。微服务与微服务与DDD英文名字:Domain Driven Design。中文名字:领域驱动设计。概 述:DDD是一种以领域为核心的设计和开发理念。DDD通过维护一个深度反应领域概念的模
5、型,以及提供了可行的经过实践检验的大量模式来应对领域的复杂性,偏向代码实现的(领域)对象微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与DDD 领域模型既不是脱离代码实现的纯粹业务对象描述,更不是一一对应代码里的表或者对象。注意以下几点:1.领域模型是精简的业务知识,所有权是业务代表而不是技术代表 2.领域模型的目的是构建业务需求和技术实现之间的桥梁,和传统的buttom-up软件开发模式相比,是一种up-buttom自上而下的开发模式,可以避免需求偏离,因为一开始就是从
6、业务需求出发去构建模型,再参照模型去实现。3.领域模型是用来解构业务真实需求,可以理解成认识业务的一种方法论,领域模型的作用是构建一种共同语言,业务代表和技术代表在模型上沟通。4.领域模型是不断迭代进化的,随需求迭代,业务变更而不断演进。5.好的领域模型可以直接反应软件是做什么用的。DDD是一种软件开发模式,目的是为了解构复杂的业务需求,降低不同工种间的沟通障碍,实现结构清晰、可复用、易维护的软件。微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与GRASP GRASP是G
7、eneral Responsibility Assignment Software Patterns(通用职责分配软件模式)的简称,它的核心思想“职责分配”。GRASP的主要特征:对象职责分配的基本原则。主要应用在分析和建模上。GRASP的核心思想:自己干自己的事(职责的分配)自己干自己的能干的事(职责的分配)自己只干自己的事(职责的内聚)如何把现实世界的业务功能抽象成对象,如何决定一个系统有多少对象,每个对象都包括什么职责,GRASP 模式给出了最基本的指导原则。微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(P
8、PT49(PPT49页页)微服务与微服务与GRASP基本原则 给对象分配职责的基本原则是什么?信息专家信息专家 假设系统中存在一个类A,那么在这个系统中,谁应该负责创建类A的新实例?创建者创建者 怎样保持对象是有重点的、可理解的、可管理的,并且能够支持低耦合?高内聚高内聚 怎样降低依赖性,减少变化带来的影响,提高重用性?低耦合低耦合 在UI层之上首先接收和协调(控制)系统操作的第一个对象是什么?控制者控制者 如何处理基于类型的选择?如何创建可插拔的软件构件?多态多态 当你并不想违背高内聚和低耦合或其他目标,但是基于专家模式所提供的方案又不合适时,哪些对象应该承担这一职责?纯虚构纯虚构 为了避免
9、两个或多个事务之间直接耦合,应该如何分配职责?如何使对象解耦合,以支持低耦合并提高复用性潜力?间接性间接性 如何设计对象、子系统和系统,使其内部的变化或不稳定性不会对其他元素产生不良影响?变化预防变化预防微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与RUP 微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与彩色建模微服务与彩色建模Peter Coad认为,领
10、域模型由以下组成:v 粉红:代表“瞬间事件”(Moment-Inteval)v 黄色:代表“角色”(Role)v 绿色:代表“人-物-地点”(Party-Place-Thing)v 蓝色:代表“描述”(Description)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与SOASOA产生的背景:IT建设以部门级为主,业务流程与数据局限于部门内部竖井应用:不同应用、不同厂商,会形成不同的数据结构、不同的实现从关注部门需求到关注企业需求,需要部门间数据共享/业 务共享/客户
11、共享 组织与业务流程频繁变化 SOA解决的问题:信息孤岛 互联互通 业务重用微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与SOASOA是一种粗粒度、松耦合服务架构,服务之间通过 简单、精确定义接口进行通讯,不涉及底层编程接口 和通讯模型。SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助软件工程师们站在新的高度理解企业级架构中的各种组件的开发、部署形式 SOA帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。SO
12、A能够更加从容地面对业务的急剧变化。微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与SOASOA和微服务的区别:u微服务不再强调传统SOA架构里面比较重的ESB企业服务总线uSOA的思想进入到单个业务系统内部实现真正的组件化SOA和微服务的共同点:u服务化u敏捷快速VS微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务与微服务与SOA框架区别框架区别微服务架构原
13、理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构定义微服务架构定义微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构内涵微服务架构内涵 组件:可被独立替换和升级的软件单元组件:可被独立替换和升级的软件单元 组件间定义清晰、组件内与语言无关组件间定义清晰、组件内与语言无关 独立开发、独立测试、独立部署、独立扩展独立开发、独立测试、独立部署、独立扩展 是由服务组件是由服务组件组成
14、的系统组成的系统 面向业务,以减少跨团队协作与沟通面向业务,以减少跨团队协作与沟通 跨功能团队(既管业务,又管数据)跨功能团队(既管业务,又管数据)开发开发-运维一体的运维一体的DevOps团队团队按照业务而不按照业务而不是技术来组织是技术来组织服务服务 微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构内涵微服务架构内涵做全生命周期的产品而不是项目做全生命周期的产品而不是项目 不是完成开发就交给运维的项目式不是完成开发就交给运维的项目式 组织形式组织形式 谁开发、谁运营(谁开发
15、、谁运营(You build,you run it.)智能端点与通道扁平化智能端点与通道扁平化 强化终端而弱化通道强化终端而弱化通道 组件间的通讯机制更加松耦合而高内聚组件间的通讯机制更加松耦合而高内聚 RESTful HTTP协议和仅提供消息路由功能的轻协议和仅提供消息路由功能的轻 量级异步机制,是微服量级异步机制,是微服务架构常用通讯机制务架构常用通讯机制微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构原理和设计方法微服务架构原理和设计方法(PPT49(PPT49页页)微服务架构内涵微服务架构内涵去中心化治理去中心化治理 不必采用统一的语义与技术不必
展开阅读全文