Consul etcd ZooKeeper euerka 对比
这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:
Feature |
Consul |
zookeeper |
etcd |
euerka |
---|---|---|---|---|
服务健康检查 |
服务状态,内存,硬盘等 |
(弱)长连接,keepalive |
连接心跳 |
可配支持 |
多数据中心 |
支持 |
— |
— |
— |
kv存储服务 |
支持 |
支持 |
支持 |
— |
一致性 |
raft |
paxos |
raft |
— |
cap |
ca |
cp |
cp |
ap |
使用接口(多语言能力) |
支持http和dns |
客户端 |
http/grpc |
http(sidecar) |
watch支持 |
全量/支持long polling |
支持 |
支持 long polling |
支持 long polling/大部分增量 |
自身监控 |
metrics |
— |
metrics |
metrics |
安全 |
acl /https |
acl |
https支持(弱) |
— |
spring cloud集成 |
已支持 |
已支持 |
已支持 |
已支持 |
- 服务的健康检查
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 设计上比较符合场景,但还需持续的完善。
更多详细对比:
https://cloud.tencent.com/developer/article/1491107
Consul etcd ZooKeeper euerka 对比相关推荐
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: Feature Consul zookeeper etcd euerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepal ...
- 服务发现的基本原理与比较:Eureka vs Consul vs Zookeeper
前言 在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的.在传统的服务架构中,服务的规模处于运维人员的可控范围内.当部署服务的多个节点时,一般使用静态配置的方式实现服务 ...
- 服务发现框架选型,Consul还是Zookeeper还是etcd
https://www.servercoder.com/2018/03/30/consul-vs-zookeeper-etcd/ 背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太 ...
- Consul和ZooKeeper的区别
Consul是一个在国外流行的服务发现和配置共享的服务软件.本文翻译自Consul的官方文档,文中重点讲述:在与主流同类软件ZooKeeper.Doozerd以及Etcd比较时,Consul的优势所在 ...
- redis分布式锁的安全性及与zookeeper的对比
上篇 网上有关Redis分布式锁的文章可谓多如牛毛了,不信的话你可以拿关键词"Redis 分布式锁"随便到哪个搜索引擎上去搜索一下就知道了.这些文章的思路大体相近,给出的实现算法也 ...
- docker容器 eureka 集成_微服务:基于 Docker 的微服务架构之分布式企业级实践参考...
编者按:本文分享自CSDN技术博客,作者为 FlyWine,所有权归原著者.若有不妥,联系本头条号以做必要处理. 目录 Microservice 和 Docker 服务发现模式 客户端发现模式 Net ...
- 基于 Docker 的微服务架构
基于 Docker 的微服务架构-分布式企业级实践 前言 Microservice 和 Docker 服务发现模式 客户端发现模式 Netflix-Eureka 服务端发现模式 Consul Etcd ...
- 生成全局唯一ID的3个思路,来自一个资深架构师的总结
标识(ID / Identifier)是无处不在的,生成标识的主体是人,那么它就是一个命名过程,如果是计算机,那么它就是一个生成过程.如何保证分布式系统下,并行生成标识的唯一与标识的命名空间有着密不可 ...
- 微服务架构下该如何技术选型呢?
点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 一.前言 为了实现基于微服务开发的产品,或者说为了将单体 ...
最新文章
- 图灵书单——程序员的算法
- webpack4.0打包优化策略(二)
- 皮一皮:中国好男友?
- html复制文件到目录,复制指定目录下的全部文件到另一个目录中
- 1 Orchard 入门篇-Orchard 基本概念
- 异构图-GTN(Graph Transformer Networks)
- 11月8日下午Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格...
- web 项目集成福昕_项目学生:Web服务集成
- java数组排序冒泡排序_java数组常见的排序——选择排序和冒泡排序
- 【笔记】西门子1200PLC和V90伺服电机连接
- python数据结构与算法 pdf_『python核心编程pdf』数据结构与算法 Python语言描述
- 教科书级别的软件推荐
- drozer could not find java_Drozer-Android安全测试
- html div 字体向左自动,在css中怎样设置字体靠左?
- Ubuntu迅雷下载工具安装使用
- php ipa 版本定制,自建IOS企业包ipa包 下载服务
- Excel 2010 VBA 入门 100 将xls格式工作簿批量转换为xlsx格式
- 编译可在Android上运行的qemu
- js异步和同步的区别
- 长城云计算机如何重装系统,重装系统怎么装,这个方法一学就会
热门文章
- SQL中的left join与right join
- 在ubuntu下安装memcache
- 操作系统实验报告5:进程的创建和终止
- [python爬虫] 招聘信息定时系统 (二).调用pyinstaller包生成exe文件
- 【数据结构与算法】之深入解析“太平洋大西洋水流问题”的求解思路与算法示例
- Scrapy + Redis 分布式爬取58同城北京全站二手房数据
- pip通过阿里源安装
- 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】2
- 【机器视觉】 convert_vector_to_tuple算子
- 【ARM】Tiny4412裸板编程之MMU简介