java面试项目中你遇到的难题,springcloud架构图及原理

什么是 CAP

CAP 定理最初是由加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想,也因此被叫做布鲁尔定理。后来在 2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了 CAP 定理的证明,让它成为分布式系统领域公认的一个定理。

CAP 定理指出了,在一个跨区域网络连接,共享数据的分布式系统中,一致性(Consistency),可用性(Availability)和分区容错性(Partition Tolerance) 这三个约束属性最终只能同时满足二个。

下面是关于这三个属性的简单描述:

  • 一致性:客户端进行读操作得到的数据永远是最近一次写入的数据,要求了对数据读写的强一致性。
  • 可用性:客户端的请求在限定时间内总能从非故障的系统节点得到正常的响应,其中不能有超时,不能出错如 502之类。
  • 分区容错性:就是出现网络分区现象,即节点间无法正常通信,数据同步出现延时等情况时,系统仍能继续提供服务。

需要注意的是,CAP 描述了一个常规的分布式系统场景:有网络连接,且数据跨节点进行共享。如果在整个系统中,数据只有一份,并且其他节点没有对应的副本,也不需要进行跨节点的数据共享,这样分布式系统就不是 CAP 关心的对象了,也谈不上结合 CAP 定理去设计和实施。

深入认识 CAP

了解 CAP 基本概念之后,我们再来分别对 C,A,P 三个属性进一步学习下,加深对 CAP 的理解。

C:一致性

这里的一致性从不同角度有着各自的描述方式,在分布式系统中表现是每个节点的数据是相同;而对于客户端,表现是读操作所得到的结果永远是最新写入的。其中需要明确的是,对于分布式系统节点来说,是可能出现某个时刻拥有不同的数据的情况:如果在某个节点执行原子性操作时,对于执行过程中的节点数据跟其他节点就并

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud是一个基于Spring Boot的微服务框架,它提供了一整套用于构建和管理微服务的组件。下面是Spring Cloud微服务架构的介绍: 1. 配置管理(Config Server):用于集管理微服务的配置信息,可以将配置信息存储在Git、SVN等版本控制系统,并通过Config Server进行统一管理和分发。 2. 服务注册与发现(Service Discovery):微服务架构的各个服务需要能够自动注册和发现,以便实现服务之间的通信。Spring Cloud提供了服务注册与发现的组件,如Eureka、Consul等。 3. 断路器(Circuit Breaker):在微服务架构,当某个服务出现故障或不可用时,为了避免级联故障,需要使用断路器模式进行故障隔离。Spring Cloud的Hystrix组件提供了断路器的实现。 4. 智能路由(Intelligent Routing):微服务架构的服务可能会有多个实例,智能路由可以根据负载均衡策略将请求分发到不同的实例上,以实现负载均衡。Spring Cloud的Ribbon和Zuul组件提供了智能路由的功能。 5. 微代理(Micro Proxy):微服务架构的服务之间需要进行通信,为了简化通信过程,可以使用微代理来处理请求和响应。Spring Cloud的Feign组件提供了微代理的功能。 6. 控制总线(Control Bus):微服务架构的各个服务需要能够实时通信和协调,控制总线可以提供消息传递和事件驱动的机制。Spring Cloud的Spring Cloud Bus组件提供了控制总线的功能。 7. 全局锁(Distributed Lock):在分布式环境,为了保证数据的一致性和并发控制,需要使用全局锁。Spring Cloud的Zookeeper和Redis等组件提供了全局锁的实现。 8. 决策竞选(Leader Election):在分布式环境,为了保证系统的高可用性,需要选举出一个主节点来处理请求。Spring Cloud的Zookeeper和Election等组件提供了决策竞选的功能。 9. 分布式会话(Distributed Session):在微服务架构,用户的会话信息可能需要在多个服务之间共享。Spring Cloud的Spring Session组件提供了分布式会话的支持。 10. 集群状态管理(Cluster State Management):在微服务架构,需要对集群的各个服务进行监控和管理。Spring Cloud的Spring Cloud Cluster组件提供了集群状态管理的功能。 以上是Spring Cloud微服务架构的介绍,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值