SpringCloud01

发布时间:2023年12月21日

?1.springcloud五大组件

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,将配置文件组合起来,放在远程仓库,便于管理;

  1. 注册中心(Eureka)

    • 服务注册:在分布式架构中,服务会注册到Eureka Server,保存服务提供者和服务调用者的信息。
    • 服务发现:当服务需要调用其他服务时,可以通过Eureka Server找到服务的地址,进行调用。
    • 服务订阅/取消订阅:服务调用者可以订阅服务提供者的信息,最好有实时推送的功能。
  2. 负载均衡(Ribbon)

    • 自动发现可用的服务提供者实例。
    • 根据配置的负载均衡策略将请求分配到不同的服务提供者实例上。
    • 当某个服务提供者实例出现故障或不可用时,自动切换到其他可用的服务提供者实例,保证系统的可用性和稳定性。
  3. 熔断器(Hystrix)

    • 防止某个服务的单个点的请求故障导致的雪崩效应,避免整个服务的线程资源消耗殆尽。
    • 通过熔断机制,隔离故障的服务,保护系统稳定。
  4. 网关服务(Zuul)

    • 提供统一入口:为全部微服务提供唯一入口点,隔离后台服务的安全性。
    • 鉴权校验:识别每个请求的权限,拒绝不符合要求的请求。
    • 动态路由:动态的将请求路由到不同的后端集群中。
  5. 配置中心(Config)

    • 提供动态刷新配置信息的能力。
    • 统一管理微服务的配置信息,方便灵活配置。

2.自我保护机制

SpringCloud-12-Eureka中的自我保护机制是一种特殊的功能,当Eureka Server在短时间内接收到的服务实例心跳数低于阈值时,会认为当前网络不稳定或者存在故障。为了避免这种情况对微服务调用产生影响,Eureka Server会进入自我保护模式。

在自我保护模式下,Eureka Server不会立即将不健康的服务实例从注册列表中移除,而是等待一段时间(默认5分钟),以便给这些服务实例恢复的机会。同时,Eureka Server会保护注册列表中的健康实例不会被错误地移除。

自我保护机制可以有效地避免因为网络不稳定或者服务故障导致的服务调用失败问题,提高了系统的可用性和稳定性。

它的设计理念就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实例

3.CAP理论

CAP理论指的是在一个分布式系统中,不能同时满足一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance),这三个要求。具体来说:

  1. 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否是同样的值。
  2. 可用性(Availability):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。可用性是指系统提供的服务必须一直处于可用的状态,对于用户的每一个操作请求总是能够在有限的时间内返回结果。
  3. 分区容错性(Partition Tolerance):以实际效果而言,分区相当于对通信的时限要求。

一致性指的是多个节点上的数据副本必须保持一致;可用性指的是系统必须在任何时候都能够响应客户端请求;而分区容错性指的是系统必须能够容忍分布式系统中的某些节点或网络分区出现故障或延迟。

CAP理论认为,分布式系统最多只能同时满足其中的两个特性,而无法同时满足全部三个特性。这是因为在分布式系统中,网络分区和节点故障是不可避免的,而保证一致性和可用性需要跨节点协调,这会增加网络延迟和系统复杂度。

1.一致性(Consistency):在分布式系统中,所有节点看到的数据都是相同的,即系统的状态在任何时刻都是一致的。

2.可用性(Availability):系统必须保证在任何时刻都能够处理请求并返回正确的结果,即系统一直处于可用状态。

3.分区容错性(Partition tolerance):系统在遇到网络分区故障时仍然能够保持正常的工作,即系统能够容忍任意数量的消息丢失或网络分区。

CAP理论的核心思想是,一个分布式系统最多只能同时满足上述三个特性中的两个,而无法同时满足所有三个特性。这是因为在分布式系统中,网络分区是不可避免的,而保证一致性和可用性需要对网络分区做出不同的权衡。

例如,当网络分区发生时,节点之间可能无法进行一致性的数据同步,因此在这种情况下,要么保证可用性,允许节点继续处理请求并返回不一致的结果,要么保证一致性,暂停服务直到网络分区恢复。

因此,CAP理论指导我们在设计分布式系统时要根据实际情况进行权衡和取舍,并在一致性、可用性和分区容错性之间做出适当的平衡。

文章来源:https://blog.csdn.net/g877835148/article/details/135075814
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。