SpringCloud课件.ppt

上传人:sh****n 文档编号:6780308 上传时间:2020-03-04 格式:PPT 页数:37 大小:1.45MB
返回 下载 相关 举报
SpringCloud课件.ppt_第1页
第1页 / 共37页
SpringCloud课件.ppt_第2页
第2页 / 共37页
SpringCloud课件.ppt_第3页
第3页 / 共37页
点击查看更多>>
资源描述
微服务SpringCloud介绍 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 单体应用 单体应用优化 加入ESB 微服务架构 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 什么是微服务 微服务架构是一种架构模式 它提倡将单一应用程序划分成一组小的服务 服务之间互相协调 互相配合 为用户提供最终价值 每个服务运行在其独立的进程中 服务与服务间采用轻量级的通信机制互相沟通 通常是基于HTTP的RESTfulAPI 每个服务都围绕着具体业务进行构建 并且能够被独立地部署到生产环境 类生产环境等 另外 应尽量避免统一的 集中式的服务管理机制 对具体的一个服务而言 应根据业务上下文 选择合适的语言 工具对其进行构建 微服务是一种架构风格 一个大型复杂软件应用由一个或多个微服务组成 系统中的各个微服务可被独立部署 各个微服务之间是松耦合的 每个微服务仅关注于完成一件任务并很好地完成该任务 在所有情况下 每个任务代表着一个小的业务能力 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 SpringCloud SpringCloud是一系列框架的有序集合 它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发 如服务发现注册 配置中心 消息总线 负载均衡 断路器 数据监控等 都可以用SpringBoot的开发风格做到一键启动和部署 Spring并没有重复制造轮子 它只是将目前各家公司开发的比较成熟 经得起实际考验的服务框架组合起来 通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理 最终给开发者留出了一套简单易懂 易部署和易维护的分布式系统开发工具包 SpringCloud核心功能 Eureka 基于REST服务的分布式中间件 主要用于服务管理 Ribbon 负载均衡框架 Hystrix 容错框架 通过添加延迟阀值以及容错的逻辑 来帮助我们控制分布式系统间组件的交互 Feign 一个REST客户端 目的是为了简化WebService客户端的开发Zuul 为微服务集群提供过代理 过滤 路由等功能 Config 分布式配置中心组件 支持配置服务放在配置服务的内存中 即本地 也支持放在远程Git SVN SpringCloud组件架构 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Eureka Eureka由两个组件组成 Eureka服务器和Eureka客户端 Eureka服务器用作服务注册服务器 Eureka客户端是一个java客户端 用来简化与服务器的交互 作为轮询负载均衡器 并提供服务的故障切换支持 Eureka架构 Eureka集群架构图 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Ribbon简介 负载均衡框架 支持可插拔式的负载均衡规则支持多种协议 如HTTP UDP等提供负载均衡客户端 负载均衡器组件 一个负载均衡器 至少提供以下功能 要维护各个服务器的IP等信息根据特定逻辑选取服务器为了实现基本的负载均衡功能 Ribbon的负载均衡器有三大子模块 RulePingServerList Ribbon内置的负载均衡规则 RoundRobinRuleAvailabilityFilteringRuleWeightedResponseTimeRuleZoneAvoidanceRuleBestAvailableRuleRandomRuleRetryRule Ribbon程序 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Hystrix 为什么需要断路器功能 在微服务架构中 我们将业务拆分成一个个的服务 服务与服务之间可以相互调用 RPC 为了保证其高可用 单个服务又必须集群部署 由于网络原因或者自身的原因 服务并不能保证服务的100 可用 如果单个服务出现问题 调用这个服务就会出现网络延迟 此时若有大量的网络涌入 会形成任务累计 导致服务瘫痪 甚至导致服务 雪崩 为了解决这个问题 就出现断路器模型 Hystrix 作用 1 断路器机制 当HystrixCommand请求后端服务失败数量超过一定比例 默认50 断路器会切换到开路状态 Open 这时所有请求会直接失败而不会发送到后端服务 断路器保持在开路状态一段时间后 默认5秒 自动切换到半开路状态 HALF OPEN 这时会判断下一次请求的返回情况 如果请求成功 断路器切回闭路状态 CLOSED 否则重新切换到开路状态 OPEN Hystrix的断路器就像我们家庭电路中的保险丝 一旦后端服务不可用 断路器会直接切断请求链 避免发送大量无效请求影响系统吞吐量 并且断路器有自我检测并恢复的能力 2 Fallback Fallback相当于是降级操作 对于查询操作 我们可以实现一个fallback方法 当请求后端服务出现异常的时候 可以使用fallback方法返回的值 fallback方法的返回值一般是设置的默认值或者来自缓存 3 资源隔离 在Hystrix中 主要通过线程池来实现资源隔离 通常在使用的时候我们会根据调用的远程服务划分出多个线程池 例如调用产品服务的Command放入A线程池 调用账户服务的Command放入B线程池 这样做的主要优点是运行环境被隔离开了 这样就算调用服务的代码存在bug或者由于其他原因导致自己所在线程池被耗尽时 不会对系统的其他服务造成影响 但是带来的代价就是维护多个线程池会对系统带来额外的性能开销 Hystrix 命令执行流程 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Feign介绍 Feign是一个声明式的伪Http客户端 它使得写Http客户端变得更简单 使用Feign 只需要创建一个接口并注解 它具有可插拔的注解特性 可使用Feign注解和JAX RS注解 Feign支持可插拔的编码器和解码器 Feign整合了Ribbon与Hystrix 并和Eureka结合 能够实现负载均衡和断路器等效果 简而言之 Feign采用的是基于接口的注解Feign整合了ribbon Hystrix 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Zuul介绍 Zuul的主要功能是路由转发和过滤器 路由功能是微服务的一部分 比如 api user转发到到user服务 api shop转发到到shop服务 zuul默认和Ribbon结合实现了负载均衡的功能 类似于nginx转发是Netflix的一个子项目提供代理 过滤 路由等功能 Zuul Hystrix和Ribbon支持 Zuul天生就拥有线程隔离和断路器的自我保护功能 以及对服务调用的客户端负载均衡功能 但是需要注意 当使用path与url的映射关系来配置路由规则的时候 对于路由转发的请求不会采用HystrixCommond来包装 所以这类路由请求没有线程隔离和断路器的保护 并且也不会有负载均衡的能力 因此 我们在使用Zuul的时候尽量使用path和serviceId的组合来进行配置 这样不仅可以保证API网关的健壮和稳定 也能用到Ribbon的客户端负载均衡功能 Zuul过滤器运行机制 项目结构 加入Zuul后的集群 主要内容 一 传统服务架构与微服务架构二 什么是微服务三 SpringCloud介绍四 Eureka介绍五 Ribbon介绍六 Hystric介绍七 Feign介绍八 Zuul介绍九 Config介绍 Config介绍 用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持 它分为服务端与客户端两个部分 其中服务端也称为分布式配置中心 它是一个独立的微服务应用 用来连接配置仓库并为客户端提供获取配置信息 加密 解密信息等访问接口 而客户端则是微服务架构中的各个微服务应用或基础设施 它们通过指定的配置中心来管理应用资源与业务相关的配置内容 并在启动的时候从配置中心获取和加载配置信息 Config架构 THANKYOU
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!