微服务架构起源、简介及设计_第1页
微服务架构起源、简介及设计_第2页
微服务架构起源、简介及设计_第3页
微服务架构起源、简介及设计_第4页
微服务架构起源、简介及设计_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

1、微服务架构起源、简介及设计独立架构师唐伟佳微服务架构起源微服务与关联理论 微服务架构介绍 微服务应用及平台设计 微服务相关技术企业架构是指对企业信息管理系统中具有体 系的、普遍性的问题而提供的通用解决方案, 是基于业务导向和驱动的架构来理解、分析、 设计、构建、集成、扩展、运行和管理信息系 统。企业架构如同战略规划,可以辅助企业完 成业务及IT战略规划。业务架构:是把企业的业务战略转化为日常 运作的渠道,业务战略决定业务架构,它包括 业务的运营模式、流程体系、组织结构、地域 分布等内容业务架构企业醸略II傑构IT架构:指导IT投资和设计决策的IT框架, 是建立企业信息系统的综合蓝图,包括数据架

2、 构、应用架构和技术架构三部分。企业架构方法有很多”但TOGAF是最主流 的。TOGAF由国际标准权威组织The Open Group制定。1993年开始应客户要求制定系统 架构的标准,在1995年发表(TOGAF)架构框 架。TOGAF的基础是美国国防部的信息管理技 术架构,是基于一个迭代的过程模型,支持最 佳实践和一套可重用的现有架构资产。它可设 计、评估、并建立组织的正确架构。朗!目兔Principles Catalog )(Stakeholder Map Matrix)球K2HC-&SS Value Chain Oidyam)解决方站铤(Soiutton Concept Ciaoran

3、i)目怎(OcganizatiDci/Actor Catalog :昵目承(Role Catalog)公能减能目亲(Business Servke/Functton Catalog)進交互珞评(8usiness Interaction Matrix)A5V角 Actcr/Rolo Matrix )血S23 (Business Footprint Diaoram :(Business Service/mformatioc Diagram)及(Furctcnal Decomposition Diagram)生你冏K (Product Lifecvde Diagram)刃毎倉峯目录(Data EnU

4、ty/Data Component Catalog) 为兵冈3力疾J年(Data EnUty/Business Function Matrix) 至统/S3宴珞驴(System/Odta Matrix ) 5 (ClassDiagram)SSjeSCa ( Oata Ossemination Diagram) 应用坦合目宗(Application Portfoiio Catalog) 宏目录(Interface Catalog ) 手S#範寤A ( System/Organization Matrix) 筒色/険伊(Role/System Matrix) 咸伊(5TOGAF企业信息架构框架DD

5、D领域驱动设计SOA面向服务架构GRASP通用软件职责设计模式 彩色建模一四色原型模式GRASP主要是辅助职责设计,四 色原型主要是捕捉实体的事件发生 序列,不会让你丢失关键业务场景。展示屋MVC、MVP和MWM)SP哄现仓就知贝英文名字:Domain Driven Design。中文名字:领域驱动设计。概述:DDD是一种以领域为核心的设计和开发理念。DDD通过维护_ 个深度反应领域概念的模型,以及提 供了可行的经过实践检验的大量模式 来应对领域的复杂性偏向代码实现 的(领域)对象领域模型既不是脱离代码实现的纯粹业务对象描述, 更不是一一对应代码里的表或者对象。注意以下几点:1领域模型是精简的

6、业务知识,所有权是业务代表而 不是技术代表2 领域模型的目的是构建业务需求和技术实现之间的 桥梁,和传统的buttonvup软件开发模式相比,是一种 up-buttom自上而下的开发模式,可以避免需求偏离, 因为一开始就是从业务需求出发去构建模型,再参照模 型去实现。3 领域模型是用来解构业务真实需求,可以理解成认 识业务的一种方法论,领域模型的作用是构建一种共同 语言,业务代表和技术代表在模型上沟通。4 领域模型是不断迭代进化的,随需求迭代,业务变 更而不断演进。5 好的领域模型可以直接反应软件是做什么用的。DDD是一种软件开发模式,目的是为了解构复杂的业 务需求,降低不同工种间的沟通瞳碍,

7、实现结构清晰、 可复用、易维护的软件。微服务与DDD现实世界软件世界GRASP 是 Ge neral Resp on sibility Assig nment Software Patterns (通用职责分配彳欠件模式)的简称z 它的核心思想职责分配。GRASP的主要特征:A对象职责分配的基本原则。A主要应用在分析和建模上。GRASP的核心思想:A自己干自己的事(职责的分配)A自己干自己的能干的事(职责的分配)A自己只干自己的事(职责的内聚)如何把现实世界的业务功能抽象成对象,如何决定 个系统有多少对象,每个对象都包括什么职责, GRASP模式给出了最基本的指导原则。微皱务与GRASP基本原

8、贝信息专家给对多分配驭责酊茎本原則是件么?创建者孩烷系统中存在,郡么在這个疾酣中進应谅负责创建尝A的新实/ ?咼内聚.怎样陋对象是切点的、可理解的、可管理的,井旦能滋支待1阳a合?低耦合1怎样埠任衣戲住.號少受化带来的膨拘.提毛黑用住?控制者1在UI层之上苜先怨收虻协谓(潮)系统舉作的隽i对金是什么?多态.如何处遅茎于尝型的选禅7竝仮创逮可插宏的秋件构件7纯虚构1当你井不履违背高内聚何鋼合或其化吕标.但是荃子专家凄式所提供的方翠艾不合适肘,匙对象应谕承担w职齐?间接性1为了遐免两个或冬个事务之间直痢a合.应诙如何分配职责?如低使对歩解狷合.以幻割*合并堤高U用主力?变化预防、如何ts计対氯 子

9、系磁系统使其内都的变化或不參定住不会对具他元素产生不艮影响?工作涼业务建模需求分析和设计实现测试发布配董与变灵管理 项目官理 坏境陨念O活动工作指南报吿角色工具向导核板Peter Coad认为,领域模型由以下组成:粉红:代表瞬间事件(Moment-Inteval )黄色:代表角色 (Role )绿色:代表人砌地点(Party-Place-Thing )蓝色:代表描述(Description )MeParty Plcc tmuj如0妙2Dew Wionorrc*e 3fCd 杯皿gtNd,:6艸加EMgnc*XnfevfcKk 匕如如0(1$g;roh豪 rw? 皿必 orVrrwbeterrK

10、inbe*CaaoretrDefaiJzvAje:,2(4卜0rflse Dej t ktm( ftteraaifPla fnjCrwaht*- 说曲心劇皿心 wkd*eTX4Fcx zzz notify7 resist erConsumerinvokecotuitMonitorProviderContainer微服务架构的定义微务架构是一种架构模式,它提倡将单一应用程序划分 成一组小的服务,服务之间互相协调、互相配合,为用户 提供最终价值。每个服务运行在其独立的进程中,服务与 服务间采用轻量级的通信机制互相沟通(通常是基于HTTP 协议的RESTful API)。每个服务都围绕着具体业务进行

11、构建,并且能够被独立的部署到生产环境、类生产环境等。 另外,应当尽量避免统一的、集中式的服务管理机制,对 具体的一个服务而言,应根据业务上下文,选择合适的语 言、工具对其进行构建。微服务架构/是由服务组件组成的系统按照业务而不是技术来组织服务)组件:可被独立替换和升级的软件单元组件间定义清晰.组件内与语言无关独立开发、独立测试、独立部署、独立扩展 /面向业务,以减少跨团队协作与沟通跨功能回队(既管业务,又管数据)开发运维一体的DevOps回队做全生命周期的产品而不是项目不是完成开发就交给运维的顶目式组织形式谁开发、谁运营(You build, you run it.)智能端点与通道扁平化强化终

12、端而弱化通道组件间的通讯机制更加松耦合而高内聚RESTful HTTP协议和仅提供消息路由功能的轻量级异步机制,是微服务架构常用谨讯机制去中心化治理去中心化数据管 理不必采用统一的语义与技术每个微服务可以考虑选用最佳工具去主成 分散存储与业务数据自治倡导多样性持久化f采用不同的技术存储专注、专业 高效、可靠 小团队简单、灵j舌 独立部署合聚展耦内扩松高易语言.工具 无关是每个微服务组件都是简单灵活的,能够独立部署。应用不需要一个庞大的应用服务器来支撑。A可以由一个小团队负责更专注专业,相应的也就更高效可靠。微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩展。微服务架构与语言工

13、具无关,自由选择合适的语言和工具,高效的完成业务目标即可。微服务架构示:ttMiVUKH移动端数据接入上层业务逻辑数据访问5(luterKRVMSClutier微信底层技术平台SpringMVCSpringframeworkRedisMyBatisShiro浏如移动逊8M2容户適微服务应用设计,微服务应用设计,无状态微服务应用设计原则/微服务应用设计原则/轴按服务功能拆分单体系统X轴水平复制负载均衡AKF扩展立方体微服务拆分方式:见右图Y轴所示方式,艮殴照不同的服 务功能进行拆分。微服务拆分要点: 低耦合、高内聚:一个8艮务完成一个 独立的功能。按团队结构,小规模团队维护,快速 迭代。前后端分

14、离前端服务 长连接 -媒连接DubOORegistry2启就时订I;也址E男地址列耒册贍务地址DubboInvoker ASrvice丨Consumer4fifi机调用一个般务地址,憨虫试另一顾DubboExporterServiceProviderDubbo (开源分布式服务框架),阿 里巴巴公司开源的一个高性能优秀的服务 框架,使得应用可通过高性能的RPC实 现服务的输出和输入功能,主要核心部件:Remoting:网络通信框架,实现了 sync-over-async 和Logo requestresponse 消息机制.RPC:-个远程过程调用的抽象,支持 负载均衡、容灾和隼詩功能Reg

15、istry衆务目录框架用于服务的注 册和服务事件发布和订阅Spring Cloud是一系列框架的有序集合:禾IJfflSpring Boot的开发便利性,简化了分布式系统基础设施的开发。Spring Cloud Eureka 是 Spring Cloud Netflix 的一部分,它基于 Netflix Eureka 做了二次封装,完成 微服务架构中的服务治理功能Spring Cloud Netflix是对Netflix分布式服务开发框架的封装,包括服务发厮注册、负载均衡、断路 器、REST客户端、请求路由等Spring Cloud Zookeeper对Zookeeper的封装,使之能配合其它Spring Cloud项目使用,一般当作注 册中心Spring Cloud Bus分布式消息队歹Iz是对Kafka MQ的封装,实现可靠消息Spring Cloud Config将酉己置信息中央化保存Spring Cloud Security对Spring Security的封装,实现服务安全等rDocker是一个开源的应用容器引擎,让开发者可 以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的Linux机器上,也可

温馨提示

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

评论

0/150

提交评论