![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/addc7bc043255cdb66e227f62616fabb.png)
一 spring cloud服务注册中心
服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个
提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分
布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,需要引入
额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心
服务注册中心包含有:eureka,zookeeper,consul,nacos
二 spring cloud服务调用
微服务之间的调用,目前常用的服务之间的调用有两种方式,一种是ribbon+RestTemplate,一种是openFeign。
其中openFeign是基于ribbon实现
三 spring cloud服务断路器
“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、
可处理的备选响应( FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要
地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩
断路器包含有:sentinel, hystrix, resilience4j
四 spring cloud服务网关
在微服务中,有时一个客户端需要同时调用多个服务,如客户端A需要调用服务1、服务2、服务3、服务4,那么客户端需要记住四个不同的
ip地址以访问不同的服务,当服务网关出现时,客户端只需要去找服务网关,服务网关会转到相对应的服务,客户端不需要记四个服务地址了
服务网关包含:zuul,zuul2,geteway
五 spring cloud负载均衡
Load balancing,负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,
以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的
在分布式微服务架构中,往往有多个服务的提供者者注册在多个注册中心里,这个时候消费者需要使用服务时,
决定由哪一个注册中心所在的服务提供者提供服务就是负载均衡
负载均衡组件包含:在spring cloud大多数使用ribbon,其中openFeign实现了ribbon
六 spring cloud配置中心
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要
必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。
在spring cloud中采用的配置中心有:config,nacos