Spring Cloud架构的各个组件的原理分析.docx
《Spring Cloud架构的各个组件的原理分析.docx》由会员分享,可在线阅读,更多相关《Spring Cloud架构的各个组件的原理分析.docx(14页珍藏版)》请在课桌文档上搜索。
1、我们先认识一下SpringCloud的各个组件,然后知其所以然。SPringCloud(一)ConfigspringSpringCloudBusSpringCk)udConfigSPnnOEVW9Afi.UfKBjuemaHiMtBftB.BCVV*e,RXm*M.0UASub*r*0A.SpringCloudBusSpmg件.用于(伪n.肥宝化件)WMM*.N与SPrtOeGouOConMI台实SMBV.EurekaNMxCMIftXS,一个于RESTM.RTrtt三M.UmnVH务双。Qm”.HystrixFtetftxE9WV9XA口遢注机第EM三万ImY或Mn为adIaaM供更修大WN
2、ETF1.IXo三三ZuulZuulNetnaZtM任云翠8上仅秋NM&.务住.安全边身的ZmU于0IONvmXH用的V0RMMWflnM11.4ArchaiusjCONSU1.PtvotelCloudFoundryArchaiusMttmxEVVVAR包含一事别配APi.供aan梨化n住.tt三wEian.险AMW、SflnnvwConsulHMhCorpNMTConutfH.COniUI一个ftXBEVXII.与OOCMr司U无鼻皮.SpringCloudforCloudFoundryPMHalAilQauth21frA三rflRQoudFAndry.GoudFcMy*VMEM出的开普PM
3、S五E原理讲解前,先看一个最经典的业务场景,如开发一个电商网站,要实现支付订单的功能,流程如下:创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付”扣减相应的商品库存通知仓储中心,进行发货给用户的这次购物增加相应的积分如上,微服务的应用场景和核心竞争力:降低耦合:每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性和开发效率。独立部署:由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系
4、列可并行的发布流程,使得发布更加高效,同时降低对生产环境所造成的风险,最终缩短应用交付周期。选型灵活:微服务架构下,技术选型是去中心化的。每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈。由于每个微服务相对简单,故需要对技术栈进行升级时所面临的风险就较低,甚至完全重构一个微服务也是可行的。容错机制:当某一组建发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用。在微服务架构下,故障会被隔离在单个服务中。若设计良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。sefvicbreaker-De一C)JJS1.(MyaMitea8HMM
5、WMvm三*三xo*r*HcHhikMMIU,iM三tt*AJM010.SpriHQOoudBm.FHHt3MW.UkorA-wwwuvfwrt11imiM!K深入理解SpringCloud核心组件与底层原理一,SPringCIoUd核心组件:EurekaNetflix尤里卡1, EUreka服务端:也称服务注册中心,同其他服务注册中心一样,支持高可用配置。如果Eureka以分配模式部署,当发生中有分片出现故障时,那么Eureka就转入自我保护模式。它允许在分片故障期间继续提供服务的发现和注册,当故障分片恢复运行时,可用中其他分片会把它们的状态再次同步回来;2, EUreka客户端:主要处理服
6、务的注册与发现。客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,Eureka客户端想注册中心注册自身提供同时,它也能从服务端查询当前注册的服务信息并把它们缓存到本地并替换地刷新服务状态。3, EurekaSerVer的高可用实际上就是将自己作为服务向其他注册中心注册自己,这样就可以形成各个相互注册的服务注册中心,以实现服务清单的相互同步,达到高可用效果尤里卡详解1,服务提供者A.服务注册服务提供者在启动的时候会通过发送REST请求的方式将自己注册到EurekaServer上,同时带上了自己的服务的一些元数据信息。EurekaServer接收到这个REST请求
7、之后,将元数据信息存储在一个双层结构地图中,其中第一层的键是服务名,第二层的键是具体服务的实例名;B.服务同步两个服务提供者分别注册到了两个不同的服务注册中心上,然后,它们的信息分别被两个服务注册中心所维护。此时,由于服务注册中心之间因互相注册为服务,当服务提供者发送注册请求到一个服务注册中心时,它会调用请求转发给转化中相连的其他注册中心,从而实现注册中心之间的服务同步。通过服务同步,两个服务提供者的服务信息就可以通过两个台服务注册中心中的任意一台获取到;C.服务续约在注册完服务之后,服务提供者会维护一个心跳到持续告诉EurekaServer:“我还活着“,以防止EurekaServer的剔除
8、任务转到服务实例从服务列表中排除出来,我们称该操作为服务续约定义服务续约任务的调用间隔时间,默认30秒eureka.instance.lease-renewal-interval-in-seconds=30#定义服务失效的时间,默认90秒eureka.instance.lease-expiration-duration-in-seconds=902,服务消费者A.获取服务当我们启动服务消费者的时候,它会发送一个REST请求给服务注册中心,来获取上面注册的服务清单。为了性能考虑,EUrekaSerVer会维护一份替代的服务清单来给给客户端,同时该缓存清单会每隔30秒更新一次;缓存清单的更新时间,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spring Cloud架构的各个组件的原理分析 Cloud 架构 各个 组件 原理 分析
链接地址:https://www.desk33.com/p-1425912.html