SpringCloud(一):基础知识篇

SpringCloud


基础知识

关于微服务的发展历程,分布式的优缺特点,前面文章已经有说过;这里简单再介绍下大致过程。

SpringCloud的基础功能:

  • 服务治理: Spring Cloud Eureka
  • 客户端负载均衡: Spring Cloud Ribbon
  • 服务容错保护: Spring Cloud Hystrix
  • 声明式服务调用: Spring Cloud FeignAPI
  • 网关服务:Spring Cloud Zuul
  • 分布式配置中心: Spring Cloud Config

分布式架构-CAP原理

  • C:数据一致性(consistency):所有节点拥有数据的最新版本
  • A:可用性(availability):数据具备高可用性
  • P:分区容错性(partition-tolerance):容忍网络出现分区,分区之间网络不可达。

目前技术不能做到三者的完美融合,但是在分布式架构中P(分区容错性)是必须满足的条件,因此,大多数架构在C、A之间做了选择;选择C(数据一致性),则必然会损失A(可用性),反之亦然。

在CAP理论中,C所表示的一致性是强一致性(每个节点的数据都是最新版本),其实一致性还有其他级别的:

  • 弱一致性:弱一致性是相对于强一致性而言,它不保证总能得到最新的值;
  • 最终一致性(eventual consistency):放宽对时间的要求,在被调完成操作响应后的某个时间点,被调多个节点的数据最终达成一致。

CAP理论定义的其实是在容忍网络分区的条件下,“强一致性”和“极致可用性”无法同时达到。

SpringCloud 的架构图

springCloud架构图

二次元老婆开篇镇楼。。。。
在这里插入图片描述