SpringCloud —— 三个注册中心的异同点

前文

微服务(一)SpringCloud 简介

微服务(二)SpringCloud 版本选型

微服务(三)SpringCloud 工程构建

SpringCloud —— Eureka 注册中心

SpringCloud —— Eureka 集群

SpringCloud —— 服务注册进 Eureka 集群

SpringCloud —— Eureka 自我保护机制

SpringCloud —— SpringCloud Consul 实现服务注册中心

三个注册中心的异同点

组件名 语言 CAP 服务健康检查 对外暴露接口 SpringCloud 集成
Eureka Java AP 可配支持 HTTP 支持
Consul Go CP 支持 HTTP/DNS 支持
Zookeeper Java CP 支持 客户端 支持

另外,Eureka 和 Consul 都是有界面的,而 Zookeeper 没有

什么是 CAP?

  • C:Consistency(强一致性)
  • A:Availability(可用性)
  • P:Partition tolerance(分区容错性)

最多只能同时较好的满足两个

CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性、分区容错性这三个需求,因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:

  • CA:单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大
  • CP:满足一致性,分区容忍性的系统,通常性能不是特别高
  • AP:满足可用性,分区容忍性的系统,通常可能对一致性要求低一些

CAP 理论关注粒度是数据,而不是整个系统设计的策略


AP 架构

当网络分区出现后,为了保证可用性,系统 B 可以返回旧值,保证系统的可用性

结论:违背了一致性 C 的要求,只满足可用性和分区容错,即 AP

SpringCloud —— 三个注册中心的异同点_第1张图片

CP 架构

当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性

结论:违背了可用性 A 的要求,只满足一致性和分区容错,即 AP

SpringCloud —— 三个注册中心的异同点_第2张图片

你可能感兴趣的:(#,SpringCloud)