《小黑程序录》-SpringCloud五大组件
Posted 迪巴哥没八哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《小黑程序录》-SpringCloud五大组件相关的知识,希望对你有一定的参考价值。
《小黑程序录》
师父:小黑呀,还记得为师昨日传你之SpringCloud心法吗?
小黑:师傅,徒儿昨夜苦读心法,已将招式熟记于心。
师父:善哉,善哉,那为师今日出题,考考你这泼猿,你来给为师讲讲SpringCloud乃何方神圣?
小黑答曰:Cloud意为云,云轻且可为群,其可为微服务框架,实现配置管理、服务发现、断路、智能路由、微代理等之用。
师父:甚可,那你再给为师说说这cloud的五大神兵(组件)。
小黑:好的,师傅,徒儿为您一一解答。Cloud旗下有五大组件,分为:
Eureka—尽服务发现之用,Ribbon—尽客户端负载均衡所用,Hystix—尽断路之用,Zull—服务网关之用,Cloud Config—分布配置之用。
师父:孺子可教也!黑儿,你知其然,知其所以然耶?
小黑:师父,待徒儿为您娓娓道来。
Eureka:
组成:
师父,Eureka分为Eureka Server 和 Eureka Client,其中客户端又分为生产者Provider与消费者Consumer,生产者负责在服务上注册服务,消费者负责拉取消费服务。
功能:
其中,注册中心服务端对外提供了三个功能:
服务注册:服务提供者启动时,可通过Eureka Client 向Eureka Server 注册信息,Eureka Server会存储该服务的信息,Eureka Server内部有两层缓存机制维护整个注册表。
提供注册表:服务消费者调用服务时,如Eureka Client没缓存注册表,则从Eureka Server获取最新注册表
同步状态:Eureka Client通过注册、心跳机制和Eureka Server同步客户端状态
Ribbon:
师父我再给你讲下Ribbon(小黑喝了口水继续道),Ribbon主要提供客户侧的软件负载均衡算法。
Ribbon客户端提供了很多的配置选项,如连接超时,重试、重试算法等,其中内置了很多可定制的负载均衡组件。下面是一些负载均衡策略。
- 简单轮询负载均衡
- 加权响应时间负载均衡
- 区域感知轮询负载均衡
- 随机负载均衡
师父,师父,Ribbon还有许多功能,比如服务发现组件、序列化选择、异步批处理操作…
师父:得了,得了,别照本宣科了,你这么多懂得了多少,你给为师说说Hystrix这个组件。
小黑:Hystrix?(小黑有点犯晕)
师父:就是那个小刺猬呀,不对,是豪猪,也不对,反正…
小黑:哦,原来是这个呀,感觉和二师弟有点像,好的师父,我这就给你讲讲。
Hystrix:
师父,你看这个图,Hystrix其实就是一种保护机制,就像豪猪身上的刺一样,它有三种状态:关闭、半开、全开。
平时服务正常的时候它处于关闭状态,但是当某个服务请求失败太多的时候,它会开启,这个时候就不会去访问这个服务了,它就像得了新冠要处于隔离状态。
然后过了一段时间后,它会处于半开状态,它会试着放行一个请求,如果请求成功了,它会重新变成关闭状态,如果还失败就会处于全开启状态,循环往复依次执行这个过程,这样的机制可以保证服务的安全,防止服务雪崩情况的发生。
师父:不错不错,有内味了。
小黑:谢师父夸奖,最后面我给您讲讲Zuul和config吧。
Zull:
师父您昨天说zull就相当于看门神一样,是所有微服务架构的统一访问入口,客户端通过网关访问相关服务,客户端的访问可通过它进行路由过滤,它实现了请求路由、负载均衡、校验过滤、服务容错、聚合等功能。具体的使用可能要待课后徒儿去进行深入再向师父解答。
SpringConfig:
Spring Cloud Config项目就是提供配置的组件,是一个解决分布式系统的配置管理方案,包括Client与Server两部分,Server提供文件存储、以接口形式将配置文件内容提供出去,client通过接口获取数据、并依据数据初始化自己的的应用。他相关的pom依赖如下所示:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
师父,这就是我昨天所学到的知识了,还望师父指教。
只见师父仰天大笑,对着小黑的脑袋敲了三下,随后拂袖而去。
知乎/b站/csdn:迪巴哥没八哥
以上是关于《小黑程序录》-SpringCloud五大组件的主要内容,如果未能解决你的问题,请参考以下文章