当前位置:首页 » 《随便一记》 » 正文

SpringCloud的五大核心组件

2 人参与  2023年03月30日 10:25  分类 : 《随便一记》  评论

点击全文阅读


目录

一、SpringCloud简介

二、SpringCloud特征

三、SpringCloud的组成

四、SpringCloud的五大核心组件

1.五大组件运行流程 

 2.Eureka(注册中心)

3.Feign

4.Ribbon

5.Hystrix

6.Zull


一、SpringCloud简介

这里先附上SpringCloud的官网:Spring Cloud

官网上对SpringCloud的介绍:

Spring Cloud为开发人员提供了工具来快速构建分布式系统中的一些常见模式(例如,配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调导致“锅炉板”模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑、裸机数据中心和托管平台,如Cloud Foundry。

简单来说:SpringCloud就是一个基于SpringBoot,用来简化分布式开发的一个微服务架构开发工具

二、SpringCloud特征

Spring Cloud专注于为典型用例提供良好的开箱即用体验,以及覆盖其他的可扩展性机制。

Distributed/versioned configuration(分布式/版本化配置)

Service registration and discovery(服务注册和发现)

Routing(路由)

Service-to-service calls(服务与服务之间的调用)

Load balancing(负载平衡)

Circuit Breakers(断路器)

Global locks(全局锁)

Leadership election and cluster state(领导选举与集群状态)

Distributed messaging(分布式消息传递)

三、SpringCloud的组成

四、SpringCloud的五大核心组件

SpringCloud的五大核心组件为Eureka、Fegin、Ribbon、Hystrix、Zull

1.五大组件运行流程 

 2.Eureka(注册中心)

SpringCloud提供了多种注册中心的支持,这其中就包括Eureka、ZooKeeper等,我们平时常用的也是这两种

回归正题,Eureka主要就是用来注册服务的,其中包括两部分:Eureka Client、Eureka Server

Eureka Client:包含服务提供者、服务消费者,主要负责服务注册、心跳续约与健康状况查询Eureka Server:提供注册服务,各个节点启动后,都会在Eureka Server中注册,可用的节点信息可以在Eureka Server中的服务注册表中找到(Eureka Server之间通过复制的方式来完成数据的同步

应用启动后,Eureka Client会向Eureka Server发送心跳,一般默认周期为30秒,如果Eureka在多个心跳周期内(一般为90秒)没有接受到某个节点的心跳,Eureka就会进入自我保护机制

3.Feign

Feign是一个HTTP请求的轻量级客户端框架。通过 接口+注解 的方式发起HTTP请求的调用,而不是像Java中通过封装HTTP请求报文的方式直接调用。

Feign执行流程:

在主程序上添加@EnableFeignClients注解开启对已经加@FeignClient注解的接口进行扫描加载调用接口中的方法时,基于JDK动态代理的方式,通过InvokeHandler调用处理器分发远程调用,生成具体的RequestTemplateRequestTemplate生成Request请求,结合Ribbon实现服务调用负载均衡策略

Feign最核心的就是动态代理,同时整合了Ribbon和Hystrix,具备负载均衡、隔离、熔断和降级功能

4.Ribbon

Ribbon是一个客户端的负载均衡器,他提供对大量的HTTP和TCP客户端的访问控制

Ribbon负载均衡策略:简单轮询、权重、随机、重试等多种策略

5.Hystrix

Hystrix提供两个命令,分别是HystrixCommandHystrixObservableCommand,通常是在Spring中通过注解和AOP来实现对象的构造熔断:简单来说,就是我们生活中的“保险丝”。如果熔断器打开,就会执行短路,直接进行降级;如果熔断器关闭,就会进入隔离逻辑。默认触发熔断器的条件为:最近一个时间窗口(默认为10秒),总请求次数大于等于circuitBreakerRequestVolume Threshold(默认为20次)并且异常请求比例大于circuitBreakerError ThresholdPercentage(默认为50%),此时熔断器触发隔离:一般分为两种:线程池隔离和信号量隔离。线程池隔离指的是每个服务对应一个线程池,线程池满了就会降级;信号量隔离是基于tomcat线程池来控制的,当线程达到某个百分比,走降级流程降级:作为Hystrix中兜底的策略,当出现业务异常、线程池已满、执行超时等情况,调用fallback方法返回一个错误提示

6.Zull

网关相当于一个网络服务架构的入口,所有网络请求必须通过网关转发到具体的服务。

主要功能:统一管理微服务请求、负载均衡、动态路由、权限控制、监控、静态资源处理等

负载均衡:为每一种负载类型分配对应的容量,并弃用超出限定值的请求动态路由:根据需要动态的将路由请求到后台不同的集群权限控制:可以识别认证需要的信息和拒绝不满足条件的请求监控:追踪有意义的数据和统计结果静态资源处理:直接在Zull中处理静态资源,从而避免其转发到内部集群


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/57251.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 谢尽长安花+后续+结局沈照霜宁砚完本_谢尽长安花+后续+结局(沈照霜宁砚)
  • 不见青山存完结(霍青秦兮霍宴)_不见青山存完结霍青秦兮霍宴
  • 他的干妹妹怀孕后,我闪婚了文集(林诺陆深)全书免费_(林诺陆深)他的干妹妹怀孕后,我闪婚了文集后续(林诺陆深)
  • 江先生,你要听话列表列表_江先生,你要听话列表(许清欢江砚舟)
  • 一抹斜阳相思泪后续+必读夏知微陆远川完本_一抹斜阳相思泪后续+必读(夏知微陆远川)
  • 「不当假少爷后,我娶了首富当老婆」免费试读_萧寒沈凌薇章节多结局预体验‌
  • 全书浏览我死后,数万网友对我进行审判火爆(董天华尹瑶)_我死后,数万网友对我进行审判火爆(董天华尹瑶)全书结局
  • 纨绔恶少抽盲盒选妻子,我换嫁绝嗣总裁后他发疯求原谅+免费+后续列表_纨绔恶少抽盲盒选妻子,我换嫁绝嗣总裁后他发疯求原谅+免费+后续(阮玉绵)
  • 完结文晚云为落日溺亡++后续列表_完结文晚云为落日溺亡++后续(裴念舒)
  • [修仙:我在云疆养仙蚕]章节多结局预体验‌_「林珂」小说无删减版在线阅读
  • 全书浏览我死后,数万网友对我进行审判++番外(董天华尹瑶)_我死后,数万网友对我进行审判++番外(董天华尹瑶)全书结局
  • 被兄弟俩接连当工具人后,我杀疯了后续+(贺云舟)全书免费_(贺云舟)被兄弟俩接连当工具人后,我杀疯了后续+后续(贺云舟)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1