微服务入门课件.ppt_第1页
微服务入门课件.ppt_第2页
微服务入门课件.ppt_第3页
微服务入门课件.ppt_第4页
微服务入门课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

微服务入门介绍SpringCloud,林可斌,主要内容,一、服务架构设计的发展二、微服务简介三、微服务架构工作流程四、springCloud介绍,一、服务架构设计的发展,单体架构,单一代码库、IDE友好、看着简单容易部署开发模型简单,一份代码库进行编码、构建和部署技术栈单一,单体架构的特点和好处,庞大的代码库,关系错综复杂交付周期长扩展能力与弹性受限新技术与工具框架使用会受限维护成本高,单体架构的问题,服务化架构,对业务进行分层,通常分为表现层(前端)、公共服务、业务逻辑服务、数据访问层等对业务进行解耦,通过Pub-Sub或RPC进行服务间调用关系解耦服务独立性,多数服务可以进行独立打包发布每个服务的技术栈单一部署简单,具备可伸缩性,服务化架构的特点和好处,对于部分服务而言,代码库依然很庞大打包、发布、部署流程不足够好维护团队间沟通受阻,技术经验有效传递不够服务增多对开发人员不够友好,服务化架构的问题,微服务架构,服务注册服务发现服务调用,MVCSOAMicroservices,架构设计发展,MVCSOAMicroservices视图、业务逻辑前后端分离,架构设计发展,MVCSOAMicroservices视图、业务逻大型系统分层辑前后端分离解耦,标准接口调用,分布式系统,架构设计发展,MVCSOAMicroservices视图、业务逻大型系统分层云计算产物,辑前后端分离解耦,标准接关注敏捷交付口调用,分布和部署速度、式系统频次,架构设计发展,二、微服务简介,suiteofsmallservices:由一系列小服务组成runninginitsownprocess:每个服务运行于自己的独立进程builtaroundbusinesscapabilities:围绕着业务功能进行建模independentlydeployable:每个服务可进行独立部署bareminimumofcentralizedmanagement:最低限度集中种管理,微服务的特征,每个微服务都是业务完整的接口及界面呈现、业务逻辑、数据管理每个微服务仅仅对一个业务负责产品服务、评价服务、支付服务、订单服务每个微服务接口明确定义接口消费只关注接口,对微服务不具备依赖独立部署、升级和伸缩,服务的独立性与自主性,微服务的独立性与自主性,微服务间的独立性是关键,代码库独立技术栈独立可伸缩性、可扩展性独立还有业务功能等,独立的代码库,每个微服务具备自己的代码仓库,由对应团队开发者维护编译、打包、发布及部署都很快服务启动迅速在各个服务的代码库间没有交叉依赖,技术栈对立,每个微服务都有自己独立的技术栈来实现,根据业务实现需求来选中最合适的技术栈团队可以尝试新的技术、工具或者框架所选的技术栈一般来说都很轻量级不需要同一标准化技术栈的选择。无需针对技术选型而纠关注业务实现,独立的可伸缩性,每个微服务都可以独立的伸缩,更加直观定位性能瓶颈数据库分片可以根据需求来,业务功能独立,每个微服务可以在不影响其他微服务的情况下进行功能扩展,例如更新新版本界面或者某个微服务中的某项功能时,无需更新整个系统可以进行整个业务功能的重写,并替换之*要保证接口明确定义且稳定,微服务优点,每个服务足够内聚,足够小,代码容易理解、开发效率提高服务之间可以独立部署,微服务架构让持续部署成为可能;每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;容易扩大开发团队,可以针对每个服务(service)组件开发团队;提高容错性(faultisolation),一个服务的内存泄露并不会让整个系统瘫痪;系统不会被长期限制在某个技术栈上。,微服务不足,“微服务”强调了服务大小业务逻辑。分区数据库测试,三、微服务架构工作流程,微服务架构工作流程,设计阶段将产品功能拆分为若干服务为每个服务设计API接口开发阶段实现API接口(包括单元测试)开发UI原型(页面)测试阶段前后端集成验证产品功能部署阶段发布测试环境发布生产环境,四、springCloud介绍,springCloud介绍,SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。,springCloud主要成员,主要的小弟有:SpringCloudConfig、SpringCloudNetflix(Eureka、Hystrix、Zuul、Archaius)、SpringCloudBus、SpringCloudforCloudFoundry、SpringCloudCluster、SpringCloudConsul、SpringCloudSecurity、SpringCloudSleuth、SpringCloudDataFlow、SpringCloudStream、SpringCloudTask、SpringCloudZookeeper、SpringCloudConnectors、SpringCloudStarters、SpringCloudCLI,每个小弟身怀独门绝技武功高强下面来做一一介绍。,SpringCloudNetflix,这可是个大boss,地位仅次于老大,老大各项服务依赖y于它,与各种NetflixOSS组件集成,组成微服务的核心,它的小弟主要有Eureka,Hystrix,Zuul,Archaius,NetflixHystrix,熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。比如突然某个小弟生病了,但是你还需要它的支持,然后调用之后它半天没有响应,你却不知道,一直在等等这个响应;有可能别的小弟也正在调用你的武功绝技,那么当请求多之后,就会发生严重的阻塞影响老大的整体计划。这个时候Hystrix就派上用场了,当Hystrix发现某个小弟不在状态不稳定立马马上让它下线,让其它小弟来顶上来,或者给你说不用等了这个小弟今天肯定不行,该干嘛赶紧干嘛去别在这排队了。,NetflixEureka,服务中心,云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。这个可是springcloud最牛鼻的小弟,服务中心,任何小弟需要其它小弟支持什么都需要从这里来拿,同样的你有什么独门武功的都赶紧过报道,方便以后其它小弟来调用;它的好处是你不需要直接找各种什么小弟支持,只需要到服务中心来领取,也不需要知道提供支持的其它小弟在哪里,还是几个小弟来支持的,反正拿来用就行,服务中心来保证稳定性和质量。,NetflixZuul,Zuul是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul相当于是设备和Netflix流应用的Web网站后端所有请求的前门。当其它门派来找大哥办事的时候一定要先经过zuul,看下有没有带刀子什么的给拦截回去,或者是需要找那个小弟的直接给带过去。,SpringCloudConfig,俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。就是以后大家武器、枪火什么的东西都集中放到一起,别随便自己带,方便以后统一管理、升级装备。,SpringCloud的优势,微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用SpringCloud的呢?产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了有springBoot这个独立干将可以省很多事,大大小小的活springboot都搞的挺不错。作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。SpringCloud活跃度很高,教程很丰富,遇到问题很容易找到解决方案轻轻松松几行代码就完成了熔断、均衡负责、服务中心的各种平台功能,与SpringBoot的关系,Springboot是Spring的一套快速配置脚手架,可以基于springboot快速开发单个

温馨提示

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

评论

0/150

提交评论