• spring cloud 之 -- eureka vs consul,该选择谁?


    0--前言

      spring cloud的服务注册中心,该选择谁?在选择前,我们首先需要来了解下分布式的CAP定理:

      所谓CAP,是指:

      Consistency:一致性;就是在分布式系统中的所有数据备份,在同一时刻是否同样的值

      Availability:可用性;就是负载过大后,集群整体是否还能响应客户端的读写请求

      Partition tolerance :分区容错性,就是高可用性;一个节点挂了,并不影响其它的节点

      三者不可能同时满足,最多只能满足其中两项;

    1-- eureka vs consul

      在分布式系统中,P是一定要满足的,不满足P是不可接受的;那么在C一致性和A可用性之间,就存在取舍。很显然,更多时候,我们更看重A可用性,而不需要实时的一致性,只需要最终一致即可;所以,满足AP更符合绝大多数项目的实际;

      Zookeeper和Consul :满足CP,保证了一致性,集群搭建的时候,某个节点失效,则会进行选举行的leader,或者半数以上节点不可用,则无法提供服务,因此可用性无法满足

      Eureka:满足AP,无主从节点,一个节点挂了,自动切换其他节点可以使用,去中心化

      从实际而言,一般除了一些特殊行业需要强调C一致性(例如金融、银行)以外,其他的系统更注重A可用性,所以:

    2--结论:该选择谁?

      我们很不喜欢那些模棱两可万金油般的的结论,对比来对比去,让大家纠结来纠结去;我们可以很明确的给你下个结论:

      对于金融类似的特殊行业有C一致性的强烈需求的,用Consul ;

      其他的,统统用Eureka;

    PS:题外话:关于Eureka闭源,是2.X闭源,但2.X从未发布,官方最新的版本是1.9,所以不要受额外的消息影响,大胆使用合适的。

  • 相关阅读:
    第二章 关系模型介绍
    第一章 引言
    只要人人都献出一点爱......
    小算法
    题目:返回一个整数数组中最大子数组的和。
    题目:返回一个整数数组中最大子数组的和
    梦断代码读后感之开始篇
    电梯调度需求分析
    结对开发--求二维数组的最大子数组
    四则运算(3)--答题小系统
  • 原文地址:https://www.cnblogs.com/yanghj/p/11638525.html
Copyright © 2020-2023  润新知