spring五大组件:
1、注册中心组件(服务注册):Nacos Eureka zookeeper;
2、负载均衡组件:Netflix Ribbon Feign,各个微服务进行分摊,提高性能;
3、熔断器组件(断路器):Sentinel Netflix Hystrix,Resilience4j ;保护系统,控制故障范围;
4、网关服务组件:Zuul,Spring Cloud Gateway;api网关,路由,负载均衡等多种作用;
5、配置中心:Spring Cloud Config? ? Nacos Config,将配置文件组合起来,放在远程仓库,便于管理;
注册中心(Eureka):
负载均衡(Ribbon):
熔断器(Hystrix):
网关服务(Zuul):
配置中心(Config):
SpringCloud-12-Eureka中的自我保护机制是一种特殊的功能,当Eureka Server在短时间内接收到的服务实例心跳数低于阈值时,会认为当前网络不稳定或者存在故障。为了避免这种情况对微服务调用产生影响,Eureka Server会进入自我保护模式。
在自我保护模式下,Eureka Server不会立即将不健康的服务实例从注册列表中移除,而是等待一段时间(默认5分钟),以便给这些服务实例恢复的机会。同时,Eureka Server会保护注册列表中的健康实例不会被错误地移除。
自我保护机制可以有效地避免因为网络不稳定或者服务故障导致的服务调用失败问题,提高了系统的可用性和稳定性。
它的设计理念就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实例
CAP理论指的是在一个分布式系统中,不能同时满足一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance),这三个要求。具体来说:
一致性指的是多个节点上的数据副本必须保持一致;可用性指的是系统必须在任何时候都能够响应客户端请求;而分区容错性指的是系统必须能够容忍分布式系统中的某些节点或网络分区出现故障或延迟。
CAP理论认为,分布式系统最多只能同时满足其中的两个特性,而无法同时满足全部三个特性。这是因为在分布式系统中,网络分区和节点故障是不可避免的,而保证一致性和可用性需要跨节点协调,这会增加网络延迟和系统复杂度。
1.一致性(Consistency):在分布式系统中,所有节点看到的数据都是相同的,即系统的状态在任何时刻都是一致的。
2.可用性(Availability):系统必须保证在任何时刻都能够处理请求并返回正确的结果,即系统一直处于可用状态。
3.分区容错性(Partition tolerance):系统在遇到网络分区故障时仍然能够保持正常的工作,即系统能够容忍任意数量的消息丢失或网络分区。
CAP理论的核心思想是,一个分布式系统最多只能同时满足上述三个特性中的两个,而无法同时满足所有三个特性。这是因为在分布式系统中,网络分区是不可避免的,而保证一致性和可用性需要对网络分区做出不同的权衡。
例如,当网络分区发生时,节点之间可能无法进行一致性的数据同步,因此在这种情况下,要么保证可用性,允许节点继续处理请求并返回不一致的结果,要么保证一致性,暂停服务直到网络分区恢复。
因此,CAP理论指导我们在设计分布式系统时要根据实际情况进行权衡和取舍,并在一致性、可用性和分区容错性之间做出适当的平衡。