`

服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka

 
阅读更多
这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:



服务的健康检查
Euraka 使用时需要显式配置健康检查支持;Zookeeper,Etcd 则在失去了和服务进程的连接情况下任务不健康,而 Consul 相对更为详细点,比如内存是否已使用了90%,文件系统的空间是不是快不足了。

多数据中心支持
Consul 通过 WAN 的 Gossip 协议,完成跨数据中心的同步;而且其他的产品则需要额外的开发工作来实现;

KV 存储服务
除了 Eureka ,其他几款都能够对外支持 k-v 的存储服务,所以后面会讲到这几款产品追求高一致性的重要原因。而提供存储服务,也能够较好的转化为动态配置服务哦。

产品设计中 CAP 理论的取舍
Eureka 典型的 AP,作为分布式场景下的服务发现的产品较为合适,服务发现场景的可用性优先级较高,一致性并不是特别致命。其次 CA 类型的场景 Consul,也能提供较高的可用性,并能 k-v store 服务保证一致性。 而Zookeeper,Etcd则是CP类型 牺牲可用性,在服务发现场景并没太大优势;

多语言能力与对外提供服务的接入协议
Zookeeper的跨语言支持较弱,其他几款支持 http11 提供接入的可能。Euraka 一般通过 sidecar的方式提供多语言客户端的接入支持。Etcd 还提供了Grpc的支持。 Consul除了标准的Rest服务api,还提供了DNS的支持。

Watch的支持(客户端观察到服务提供者变化)
Zookeeper 支持服务器端推送变化,Eureka 2.0(正在开发中)也计划支持。 Eureka 1,Consul,Etcd则都通过长轮询的方式来实现变化的感知;

自身集群的监控
除了 Zookeeper ,其他几款都默认支持 metrics,运维者可以搜集并报警这些度量信息达到监控目的;

安全
Consul,Zookeeper 支持ACL,另外 Consul,Etcd 支持安全通道https.

Spring Cloud的集成
目前都有相对应的 boot starter,提供了集成能力。

总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单(没有详细列出讨论),Eureka 设计上比较符合场景,但还需持续的完善。
  • 大小: 49.6 KB
分享到:
评论

相关推荐

    consul-1.6.1-win-64.zip

    ZooKeeper 更侧重于提供分布式协调,Eureka 主要关注服务注册和发现,而 Consul 则在这两者基础上增加了更多功能。 9. **Spring Cloud 集成**:在 Spring Cloud 生态系统中,Consul 可以作为服务发现的后端,通过 ...

    consul_1.11.2_windows_amd64.zip

    在 Spring Cloud 体系中,几乎每个角色都会有两个以上的产品提供选择,比如在注册中心有:Eureka、Consul、zookeeper、etcd 等;网关的产品有 Zuul、Spring Cloud Gateway 等。在注册中心产品中,最常使用的是 ...

    EureKa服务注册与发现.docx

    - **与Zookeeper的对比**:EureKa更注重服务发现的可用性,而Zookeeper更强调一致性,适合需要强一致性的场景。 - **与Consul的对比**:Consul除了服务发现,还提供了健康检查、KV存储和多数据中心支持,功能更为...

    SpringCloud-Eureka

    Eureka 是 Netflix 在线影片公司开源的一个服务注册与发现的组件,是 Spring Cloud 社区整合为 Spring Cloud Netflix 模块。Eureka 来源于古希腊词汇,意为“发现了”。 知识点二:Eureka 和 Zookeeper 的区别 ...

    催米技术部研发团队技术分享:微服务及服务发现学习资料.zip

    内容概要: ...zookeeper,etcd,consul对比; 微服务史上最细致入微的深入讲解; 为什么要用服务发现; Raft 为什么是更易理解的分布式一致性算法; 组件包:consul;eureka;zookeeper; 热力对比;

    SpringBoot系列 使用 consul 作为服务注册组件.docx

    本文将深入探讨如何在 SpringBoot 应用中集成 Consul 作为服务注册组件,并对比其他常见的服务治理组件,如 Spring Cloud Eureka 和 Zookeeper。 **服务注册组件选择** 1. **Spring Cloud Eureka**:由 Netflix ...

    SpringCloud——Zookeeper(注册中心)

    在分布式系统中,服务注册与发现是至关重要的一个环节,SpringCloud通过集成不同的注册中心,如Eureka、Consul和Zookeeper,为微服务架构提供了强大的支持。本篇主要聚焦于SpringCloud与Zookeeper的结合,讲解如何...

    SpringCloud之二 Eureka注册和使用

    Eureka不是服务注册中心的唯一选择,除了Eureka之外,还可以使用Consul、Etcd、Zookeeper等。在Java生态中,dubbo是一个知名的RPC框架,它也支持多种注册中心,比如Zookeeper和Redis。在选择注册中心时,可以根据...

    spring cloud2有这一篇就够了

    1 - 服务注册中心:Eureka、Zookeeper、Consul 2- 服务负载均衡:Ribbon 3 - 服务接口调用:OpenFeign 4 - 服务的断路器:Hystrix 5 - 服务的路由器:GateWay 6 - 服务配置中心:SpringCloud Config 7 - 服务消息...

    dubbo+zookeeper分布式服务

    这样,即使未来更换了服务发现机制,如从 ZooKeeper 更改为 Eureka 或 Consul,Dubbo 的整体架构也能保持不变,增强了系统的可扩展性和适应性。 此外,Dubbo 还提供了丰富的监控功能,包括服务调用的统计信息、服务...

    spring-cloud-zookeeper:Spring Cloud Zookeeper

    此外,Spring Cloud还与其他云原生技术如Netflix Eureka、Consul等进行了整合,提供了多种服务发现和配置管理的选择。选择Zookeeper的原因可能包括其成熟稳定、社区活跃、功能全面等优势。 总的来说,Spring Cloud ...

    consul 商品服务部分代码示例

    与它同类的东西,还有Eureka、zooKeeper、etcd等也能做这些事,说不上谁好谁坏,看场景挑合适的吧,不过Eureka现在已经闭源了,这个还是建议不要去用这个了。 本文主要针对商城系统为例,以swoft 为基础,对商品...

    spring cloud zookeeper gateway

    这个项目旨在为开发者提供一个快速搭建微服务架构的平台,特别是对于使用Zookeeper管理和发现服务的场景。 **Spring Cloud Zookeeper** Zookeeper 是一个分布式协调服务,由Apache Hadoop项目开发。它主要用于服务...

    几种服务发现对比.zip

    本文将详细对比几种常见的服务发现机制,包括Zookeeper (zk)、etcd、doozer、Eureka、nsq、Smartstack、Serf、Spotify以及SkyDNS,帮助你理解它们各自的特点、优缺点以及适用场景。 1. **Zookeeper (zk)**: Apache ...

    微服务之Eureka服务注册中⼼

    Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,Zookeeper是一个分布式服务框架,Consul是一个基于Go语言开发的支持多数据中心分布式高可用性的服务发布和注册服务软件。 Eureka服务注册...

    基于Spring Cloud的微服务架构学习项目.zip

    Eureka: 创建项目 eurekaserver7001 作为注册中心。 创建项目 payment8001 和 order80 作为客户端注册到Eureka。 配置Eureka集群,实现负载均衡和故障容错。 Zookeeper: 创建项目 payment8003 作为服务提供者...

    基于Spring-Cloud-Netfix的Java服务架构设计与源码分析

    项目核心功能包括服务发现(Eureka替代品:Nacos、Zookeeper、Consul)、负载均衡(Ribbon、SpringCloudLoadbalancer)、熔断降级(Hystrix、Alibaba Sentinel、Resilience4J)、服务网关(Zuul、getWay)和配置中心...

    SpringCloud基础知识和相关组件介绍

    * Spring Cloud Consul:Consul 是一个分布式高可用的服务发现和配置管理工具,可以与 Eureka 一起使用,提供更加灵活的服务注册和发现机制。 * Spring Cloud Zookeeper:Zookeeper 是一个分布式的、开源的分布式...

    尚硅谷2022年SpringCloud课程脑图

    详细讲解了微服务技术栈注册中心:Eureka、Zookeeper、consul 、nacos服务调用:ribbon、Loadbalancer、feign、openFeign服务降级:Hystrix、sentinel服务网关:gateway服务配置:config、nacos服务总线:bus、nacos

    consul.zip

    Eureka曾是Netflix开源的一款流行的服务注册与发现组件,但随着其官方宣布停更,开发者们开始寻找替代方案,如Zookeeper和Consul等。本文将重点探讨Consul,一个由HashiCorp公司开发的全面的分布式系统工具,它不仅...

Global site tag (gtag.js) - Google Analytics