(最新整理)SpringCloud课件.ppt

上传人(卖家):晟晟文业 文档编号:5097697 上传时间:2023-02-10 格式:PPT 页数:39 大小:1.79MB
下载 相关 举报
(最新整理)SpringCloud课件.ppt_第1页
第1页 / 共39页
(最新整理)SpringCloud课件.ppt_第2页
第2页 / 共39页
(最新整理)SpringCloud课件.ppt_第3页
第3页 / 共39页
(最新整理)SpringCloud课件.ppt_第4页
第4页 / 共39页
(最新整理)SpringCloud课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、2021/7/261(最新整理)SpringCloud课件2021/7/262微服务Spring Cloud介绍2021/7/263主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/264单体应用2021/7/265单体应用优化2021/7/266加入ESB2021/7/267微服务架构2021/7/268主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hy

2、stric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/269什么是微服务微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系

3、统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力2021/7/2610主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2611Spring CloudSpring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据

4、监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包2021/7/2612Spring Cloud核心功能Eureka:基于REST服务的分布式中间件,主要用于服务管理。Ribbon:负载均衡框架。Hystrix:容错框架,通过添加延迟阀值以及容错的逻辑,来帮助我们控制分布式系统间组件的交互。Feign:一个REST客户端,目的是为了简化We

5、b Service客户端的开发Zuul:为微服务集群提供过代理、过滤、路由等功能。Config:分布式配置中心组件,支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git、SVN。2021/7/2613Spring Cloud组件架构2021/7/2614主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2615EurekaEureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务

6、器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。2021/7/2616Eureka架构2021/7/2617Eureka集群架构图2021/7/2618主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2619Ribbon简介负载均衡框架,支持可插拔式的负载均衡规则支持多种协议,如HTTP、UDP等提供负载均衡客户端2021/7/2620负载均衡器组件一个负载均衡器,至

7、少提供以下功能:要维护各个服务器的IP等信息根据特定逻辑选取服务器为了实现基本的负载均衡功能,Ribbon的负载均衡器有三大子模块:RulePingServerList2021/7/2621Ribbon内置的负载均衡规则RoundRobinRuleAvailabilityFilteringRuleWeightedResponseTimeRuleZoneAvoidanceRuleBestAvailableRuleRandomRuleRetryRule2021/7/2622Ribbon程序2021/7/2623主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、E

8、ureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2624Hystrix:为什么需要断路器功能在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型。2021/7/2625Hystrix:作用1.断路器机制:当Hystrix Co

9、mmand请求后端服务失败数量超过一定比例(默认50%),断路器会切换到开路状态(Open).这时所有请求会直接失败而不会发送到后端服务.断路器保持在开路状态一段时间后(默认5秒),自动切换到半开路状态(HALF-OPEN).这时会判断下一次请求的返回情况,如果请求成功,断路器切回闭路状态(CLOSED),否则重新切换到开路状态(OPEN).Hystrix的断路器就像我们家庭电路中的保险丝,一旦后端服务不可用,断路器会直接切断请求链,避免发送大量无效请求影响系统吞吐量,并且断路器有自我检测并恢复的能力.2.Fallback:Fallback相当于是降级操作.对于查询操作,我们可以实现一个fal

10、lback方法,当请求后端服务出现异常的时候,可以使用fallback方法返回的值.fallback方法的返回值一般是设置的默认值或者来自缓存.3.资源隔离:在Hystrix中,主要通过线程池来实现资源隔离.通常在使用的时候我们会根据调用的远程服务划分出多个线程池.例如调用产品服务的Command放入A线程池,调用账户服务的Command放入B线程池.这样做的主要优点是运行环境被隔离开了.这样就算调用服务的代码存在bug或者由于其他原因导致自己所在线程池被耗尽时,不会对系统的其他服务造成影响.但是带来的代价就是维护多个线程池会对系统带来额外的性能开销.2021/7/2626Hystrix:命令

11、执行流程2021/7/2627主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2628Feign介绍Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign整合了Ribbon 与Hystrix,并和Eureka结合,能够实现负载均衡和断路器等效果。简而言之:F

12、eign 采用的是基于接口的注解Feign 整合了ribbon、Hystrix2021/7/2629主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2630Zuul介绍Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能,类似于nginx转发是Netflix的一个子项目提供代理、过滤、路由等

13、功能2021/7/2631Zuul:Hystrix 和Ribbon 支持 Zuul天生就拥有线程隔离和断路器的自我保护功能,以及对服务调用的客户端负载均衡功能。但是需要注意,当使用path与url的映射关系来配置路由规则的时候,对于路由转发的请求不会采用HystrixCommond来包装,所以这类路由请求没有线程隔离和断路器的保护,并且也不会有负载均衡的能力。因此,我们在使用Zuul的时候尽量使用path和serviceId的组合来进行配置,这样不仅可以保证API网关的健壮和稳定,也能用到Ribbon的客户端负载均衡功能2021/7/2632Zuul过滤器运行机制2021/7/2633项目结构

14、2021/7/2634加入Zuul后的集群2021/7/2635主要内容一、传统服务架构与微服务架构二、什么是微服务三、SpringCloud介绍四、Eureka介绍五、Ribbon介绍六、Hystric介绍七、Feign介绍八、Zuul介绍九、Config介绍2021/7/2636Config介绍用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。2021/7/2637Config架构2021/7/2638 THANK YOU!2021/7/2639

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文((最新整理)SpringCloud课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|