etcd、Zookeeper和Consul一致键值数据存储的性能对比

服务注册和发现组件的详细对比与选型建议:Eureka、Consul、ZooKeeper、Etcd 和 Nacos Eureka:Netflix 开源,Spring Cloud 生态系统中默认的服务注册中心,采用客户端-服务器架构。Consul:HashiCorp 开发,提供服务发现、健康检查、键值存储等功能,基于 Raft 协议保证数据一致性。ZooKeeper:Apache 基金会项目,提供分布式数据存储、配置管理等功能,利用树形数据结构存储服务信息。Etcd:CoreOS 开发,分布式键值存储系统,基于 Raft 协议实现高可用、强一致性数据存储。Nacos。 阅读详情

这篇博文是探索三个分布式、一致性键值数据存储软件性能的系列文章中的第一篇:etcd、Zookeeper和Consul,由etcd团队所写,可以让我们全面地了解如何评估三个分布式一致存储软件的性能。翻译过程中难免有误差,还请大家谅解

一致性键值存储的用处

许多现代分布式应用程序都建立在分布式一致键值存储之上。Hadoop生态系统中的应用程序和“Netflix栈”的许多部分都使用Zookeeper。Consul公开了服务发现和运行状况检查API,并支持Nomad等集群工具。Kubernetes容器编排系统,MySQL的Vitess水平扩展,Google Key Transparency项目以及许多其他系统都是基于etcd构建的。有了这么多关键任务集群,服务发现和基于这些一致键值存储的数据库应用程序,测量可靠性和性能是至关重要的。

满足写性能需要的条件

理想的键值存储每秒摄取许多键,快速持久并确认每次写入,并保存大量数据。如果存储无法跟上写入,那么请求将超时,可能会触发故障转移和停机。如果写入速度很慢,那么应用程序看起来很慢。如果数据过多,存储系统可能会爬行甚至无法运行。

我们使用dbtester来模拟写入,并发现etcd在这些基准测试中优于类似的一致分布式键值存储软件。在较低的层面上,背后的架构决策可以更加统一和有效地利用资源,这些决策转化为在合理的工作负载和规模下可靠的良好吞吐量、延迟和总容量。这反过来又有助于使用etd的应用程序,如Kubernetes,可靠、易于监控和高效。

性能有很多方面,本文将深入介绍键的创建,键值的填充和存储,来说明底层的机制。

资源利用

在跳到高级性能之前,首先通过资源利用率和并发性突出键值存储行为的差异是有帮助的,写操作为验证这个问题提供了一个很好的例子。写操作必须和磁盘关联起来,因为写操作会持久键值到媒体。然后,这些数据必须跨服务器进行复制(replicate across machines),从而导致集群间大量网络流量。这些流量构成了处理写的全部开销的一部分,这会消耗CPU。最后,将键放入存储区直接利用内存获取键用户数据,并间接用于簿记(book-keeping)。

根据最近的一项用户调查,大多数etcd部署都使用虚拟机。为了遵守最常见的平台配置,所有的测试都在谷歌云平台计算引擎虚拟机(Google Cloud Platform Compute Engine virtual machines)上运行,并且使用Linux OS(所有虚拟机都有Ubuntu 16.10, Linux内核4.8.0-37-generic和ext4文件系统。我们选择Ubuntu作为一个中立的Linux操作系统,而不是像Container Linux那样的CoreOS项目,以说明这些结果应该适用于任何类型的Linux发行版。但是,在容器Linux上收集这些基准测试将得到非常相似的结果)。每个集群使用三个VM,足以容忍单个节点故障。每个VM都有16个专用的vcpu、30GB内存和300GB SSD,可以达到150 MB/s的持续写操作。这个配置足够强大,可以模拟来自1000个客户机的流量,这对于etcd的用例和以下资源度量所选择的目标来说是最小的。所有的测试都进行了多次试验,在运行之间的偏差相对较小,不影响任何一般结论。etcd的使用如下图所示:

键值存储基准测试设置

所有基准测试都使用以下软件配置:

软件名称版本编译语言版本
etcdv3.1.0Go 1.7.5
Zookeeperr3.4.9Java 8 (JRE build 1.8.0_121-b13)
Consulv0.7.4Go 1.7.5

每个资源利用率测试都会创建一百万个具有1024字节值的唯一256字节键(one million unique 256-byte keys with 1024-byte values)。选择键长度以使用共同的最大路径长度对存储软件施加压力,选择值长度是因为它是protobuf编码的Kubernetes值的预期平均大小。虽然精确的平均键长度和值长度是与工作负载相关的,但长度代表极端之间的权衡。更精确的敏感性研究将为每个存储软件提供更多关于最佳案例表现特征的见解,但风险更大。

磁盘带宽

写操作必须持久化到磁盘,他们记录共识提案(consensus proposals),压缩旧数据,并保存存储快照。在大多数情况下,写入应该以记录共识提案为主。etcd的日志(log)将protobuf编码的提议流转换为一系列预分配文件,在页面边界处同步,每个条目都有滚动的CRC32校验和。 Zookeeper的事务日志(transaction log)类似,但是使用Adler32进行jute编码和校验和。Consul采用不同的方法,而是记录到boltdb/bolt后端,raft-boltdb。

下图显示了扩展客户端并发性如何影响磁盘写入。正如预期的那样,当并发性增加时,ext4文件系统上/proc/diskstats上的磁盘带宽会增加,以应对请求压力的增加。etcd的磁盘带宽稳定增长,它写的数据比Zookeeper还多,因为除了日志外,它还必须写boltDB。另一方面,Zookeeper会因为写入完整的状态快照而丢失数据速率,这些完整的快照与etcd的增量和并发提交相反,后者只写入更新,而不会停止所有正在进行的操作(stopping the world)。Consul的数据率最初大于etcd,这可能是由于在B+树中删除了提交的raft协议(raft proposals)而导致的写放大,然后由于花了几秒钟写快照而出现波动。

创建一百万个键时的平均服务器磁盘写入吞吐量

网络

网络是分布式键值存储的中心。客户端与键值存储集群的服务器进行通信,集群中的服务器相互通信。每个键值存储都有自己的客户端协议,etcd客户端使用建立在HTTP/2之上的Protocol Buffer v3 gRPC协议,Zookeeper客户端使用自定义的流式TCP协议Jute,Consul使用JSON。同样,每个协议都有自己的TCP服务器协议。etcd peer stream protobuf编码的raft RPC提议,Zookeeper将TCP流用于有序的双向jute编码ZAB通道,Consul发布用MsgPack编码的raft RPC。

下表显示了所有服务器和客户端的总网络利用率。在大多数情况下,etcd具有最低的网络使用率,除了Consul客户端接收的数据略少。这可以通过etcd的Put响应来解释,其中包含带有修订数据的标题,而Consul只是以明文true响应。Zookeeper和Consul的服务器间流量可能是由于传输大型快照和节省空间的协议编码较少。

使用1,000个客户端创建一百万个键时传输的总数据量

CPU

即使存储和网络速度很快,集群也必须小心处理开销。浪费CPU的机会比比皆是:许多消息必须被编码和解码,糟糕的并发控制可以对抗锁定,系统调用可以以惊人的频率进行,并且内存堆可以捶打。 由于etcd、Zookeeper和Consul都希望leader服务器节点处理写入,因此较差的CPU利用率可以轻松降低性能。

下图显示了在扩展客户端时使用top -b -d 1测量的服务器CPU利用率。etcd CPU利用率按预期平均和最大负载进行扩展,随着更多连接的增加,CPU负载依次增加。最引人注目的是Zookeeper的平均跌幅为700,但客户端数量增加了1000,日志报告太忙以捕捉,跳过其SyncRequestProcessor,然后创建新的日志文件,从1,073%利用率到230%。 这种下降也发生在1,000个客户端,但从平均值来看不太明显,利用率从894%上升到321%。同样,处理快照时Consul CPU利用率下降10秒,从389% CPU降至16%。

用于在客户端扩展时创建一百万个键的服务器CPU使用

内存

当键值存储设计为仅管理元数据大小的数据时,大多数数据可以缓存在内存中。维护内存数据库可以提高速度,但代价是过多的内存占用可能会导致频繁的垃圾回收和磁盘交换,从而降低整体性能。当Zookeeper和Consul在内存中加载所有键值数据时,etcd只保留一个小的驻留内存索引,直接通过boltdb中的内存映射文件支持其大部分数据,仅将数据保存在boltDB中会因请求分页而导致磁盘访问,但总体而言,etcd更好地考虑操作系统设施。

下图显示了在集群总内存占用量中向集群添加更多键的效果。最值得注意的是,一旦存储系统中有大量的键,etcd使用的内存量不到Zookeeper或Consul的一半。Zookeeper位居第二,占据了四倍的内存,这符合仔细调整JVM堆设置的建议(recommendation)。最后,尽管Consul使用了etcd所用的boltDB,但它的内存存储(in-memory store)否定了etcd中的占用空间优势,消耗了三者中最大的内存。

创建一百万个键时的服务器内存占用

存储爆炸

随着物理资源的确定,重点可以回归到聚合基准测试。首先,为了找到最大键提取率,系统并发性可扩展到一千个客户端。这些最佳摄取率为测量负载下的延迟提供了基础,从而衡量总的等待时间。同样,每个系统客户端以最佳摄取速率计数,当密钥从一百万个键扩展到三百万个键时,可以通过测量吞吐量的下降来强调总容量。

吞吐量变化

随着越来越多的客户端同时写入集群,理想情况下,在提升之前,提取率应该稳定上升。但是,下图显示在写出一百万个键时缩放客户端数量时不是这种情况。 相反,Zookeeper(最大速率为43,458 req/sec)波动很大,这并不奇怪,因为它必须明确配置为允许大量连接。Consul的吞吐量(最大速率16,486 req/sec)可以很好地扩展,但在并发压力下会降低到低速率。etcd的吞吐量(最大速率34,747 req/sec)总体稳定,随着并发性而缓慢上升。最后,尽管Consul和Zookeeper使用了更多的CPU,但最大吞吐量仍然落后于etcd。

随客户端规模创建一百万个键的平均吞吐量

延迟分布

鉴于存储系统的最佳吞吐量,延迟应该是局部最小且稳定,排队效应将延迟其他并发操作。同样,理想情况下,随着键总数的增加,延迟会保持低且稳定,如果请求变得不可预测,则可能存在级联超时,抖动监视警报或故障。然而,通过下面显示的延迟测量来判断,只有etcd具有最低的平均等待时间和规模上的紧密、稳定的界限。

etcd,Zookeeper和Consul键创建延迟位数和范围

Zookeeper努力为并发客户提供最佳吞吐量,一旦它触发快照,客户端请求就会开始失败。服务器记录列表错误,例如Too busy to snap, skipping, fsync-ing the write ahead log和fsync-ing the write ahead log in SyncThread: 1 took 1,038 ms which will adversely effect operation latency,最终导致leader节点丢失,Exception when following the leader。客户端请求偶尔会失败,包括zk等错误,例如zk: could not connect to a server和zk: connection closed错误。Consul报告没有错误,尽管可能应该,它经历了广泛的差异降级性能,可能是由于其大量写入放大。

键总数

凭借最佳平均吞吐量达到100万个键的最大并发性,可以在容量扩展时测试吞吐量。下图显示了时间序列延迟,以及延迟峰值的对数标度,因为键被添加到存储中,最多可达300万个键。在大约50万个键之后,Zookeeper和Consul延迟峰值都会增长。由于高效的并发快照,etcd没有出现尖峰,但是在一百万个键之前略有延迟。

特别值得注意的是,就在两百万个键之前,Zookeeper完全失败了。其追随者落后,未能及时收到快照,这表明领导者选举需要长达20秒才能锁定集群。

创建300万个键时的延迟

下一步是什么

在创建一百万个或更多键时,etcd可以比Zookeeper或Consul稳定地提供更好的吞吐量和延迟。此外,它实现了这一目标,只有一半的内存,显示出更高的效率。但是,还有一些改进的余地,Zookeeper设法通过etcd提供更好的最小延迟,代价是不可预测的平均延迟。

所有基准测试都是使用etcd的开源dbtester生成的。任何希望重现结果的人都可以获得上述测试的测试用例参数。对于更简单,仅限etcd的基准测试,请尝试使用etcd3基准测试工具。

编译自:Exploring Performance of etcd, Zookeeper and Consul Consistent Key-value Datastores

Etcd、Eureka、Consul、Zookeeper 之间的比较 etcd除了受到Zookeeper与doozer启发而催生的项目,还拥有与之类似的功能外,更具有以下4个特点:{![引自Docker官方文档]}。 简单:基于HTTP+JSON的API让你用curl命令就可以轻松使用。 安全:可选SSL客户认证机制。 快速:每个实例每秒支持一千次写操作。 可信:使用Raft算法充分实现了分布式。 至于为什么不用zookeeper或者eureka... 阅读详情

相关推荐

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

注册中心对比和选型:Zookeeper、Eureka、Nacos、Consul和ETCD

讲解5种常用的注册中心,对比其流程和原理,无论是面试还是技术选型,都非常有帮助。 往期精选: 如何看待程序员35岁职业危机? 2年经验总结,告诉你如何做好项目管理 Java全套学习资料(14W字),耗时半年整理 我肝了三个月,为你写出了GO核心手册 消息队列:从选型到原理,一文带你全部掌握 RPC框架从原理到选型,一文带你搞懂RPC 微服务网关选型,请收下我的膝盖! 更多... 大家好,我是楼仔!对于注册中心,在写这篇...

飞楼踏梦 7687

智能车竞赛疯狂电路组:Altium Designer赛道设计与计分策略全解析

本文全面解析智能车竞赛疯狂电路组中,如何利用Altium Designer进行专业赛道设计。从软件基础操作、图层管理与封装库调用,到赛道拓扑绘制、核心尺寸规范,详细拆解设计全流程。文章深入结合计分策略,指导如何在设计阶段植入策略点,优化路径与元器件布局,以在比赛中获得时间优势,并提供了从图纸输出到实地测试的完整避坑指南。

beta5的博客 583

基础:Zookeeper、Eureka、Nacos、Consul ,Etcd选型

服务发现就是服务提供者将自己提供的地址post或者update到服务中介,服务消费者从服务中介那里get自己想要的服务的地址。

OceanStar的博客 3102

Zemax序列模式下激光二极管(LD)光源建模与像散校正实战

本文详细讲解了在Zemax序列模式下精确建立激光二极管(LD)光源模型并校正其像散的核心方法。通过将椭圆光束的发散角转换为渐晕系数,并巧妙利用理想柱面镜模拟像散,实现了对LD光源特性的高精度模拟。该方法特别适用于激光耦合、激光雷达等需要对像散光束进行精密控制的光学系统设计。

weixin_28455801的博客 436

群晖NAS下docker安装MySql

本文将一步一步讲解如何在群晖NAS的docker中启用一个MySQL容器 , 算是初学者对问题解决的一个记录.

qq_46375248的博客 5976

深度对比:etcd、Consul、Zookeeper 和 Nacos 作为注册中心和配置中心的优势与劣势

Consul和Nacos在服务注册和发现方面提供了最完善的开箱即用功能,特别适合动态微服务架构。而etcd和Zookeeper需要手动实现注册和负载均衡等功能,适合更复杂或自定义需求的场景。在健康检查方面,Consul和Nacos的功能最强大,能够自动维护服务的健康状态并且可以动态调整。Zookeeper依靠心跳机制进行状态检测,但缺少灵活的负载均衡机制,而etcd需要依赖外部工具进行监控。Consul和Nacos在扩展性方面表现最佳,特别是Consul支持跨数据中心扩展。而etcd和Zookeeper。

花千树的专栏 6683

VCSA 6.7证书过期别慌!手把手教你通过SSH修改系统时间恢复登录(附STS证书修复脚本)

本文详细介绍了VCSA 6.7证书过期的应急处理方案,包括通过SSH修改系统时间临时恢复登录、全面更新证书体系以及专项修复STS证书的实战步骤。文章还提供了后期验证和系统加固的建议,帮助运维人员有效应对证书过期问题,确保虚拟化平台的稳定运行。

weixin_31292729的博客 415

注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd

注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。注册中心主要有三种角色:最后,RPC Client 从本地缓存的服务节点列表中,基于负载均衡算法选择一台 RPC Sever 发起调用。 根据注册中心原理的描述,注册中心必须实现以下功能,偷个懒,直接贴幅图:CAP理论是分布式架构中重要理论:关于 P 的理解,我觉得是在整个系统中某个部分,挂掉了,或者宕机了,并不影响整个系统的运作或者说使用,而可用性是

meser88的博客 503

PCB工艺-SI9000-模型选择

本文介绍了PCB设计中常用的阻抗计算模型,主要包括外层、内层和嵌入式三类共12种计算模型,涵盖单端/差分、共面等不同场景。针对阻抗计算中的关键参数,文章提供了经验值参考:表层走线厚度0.035mm(1.4mil),内层0.0152mm(0.6mil);并列出常见PP材料的介电常数(3.8-4.5)和成品厚度(3-7.5mil)。作者建议90%的设计问题可通过上述模型解决,层叠参数建议咨询PCB厂家获取。

weixin_50120208的博客 1382

远程声控系统(MATLAB代码见优快云资源)

远程声控系统技术报告 一、题目要求 实现一个远程声音控制系统。首先采集不同的语音指示信号,进行适当压缩;然后通过噪声信道实现远程传输,远端接收后再通过适当计算识别出是何指示,最后送入一个处于未知状态、但能控/能观的控制系统,完成不同的控制动作。 二、问题分解与解决思路 2.1 系统设计 实验中以汉语数字语音1~9作为指令,数字语音“1”代表一号指令,数字语音“2”代表二号指令,依次类推。发送端发出语音“1”,发送端对应的数字语音文件为“1b.wav”,通过信源编码对语音进行压缩编码,然后进行信道编码并进行基

业精于勤,荒于嬉 5733

【微服务】Etcd实现服务器注册和发现|Etcd、Eureka、Consul、Zookeeper 比较

etcd除了受到Zookeeper与doozer启发而催生的项目,还拥有与之类似的功能外,更具有以下4个特点: 简单:基于HTTP+JSON的API让你用curl命令就可以轻松使用。 安全:可选SSL客户认证机制。 快速:每个实例每秒支持一千次写操作。 可信:使用Raft算法充分实现了分布式。 至于为什么不用zookeeper或者eureka等,除了根据项目考虑之外,就看个人喜好了,如果有哪位大佬知道更多内容,麻烦也在留言区告知小编一下,万分感谢! 以下是常用的服务发现产品之间的比较: F...

我的笔记本 2899

iOS安全和逆向系列教程 第18篇:iOS应用脱壳技术详解与实战

iOS应用脱壳技术详解与实战 摘要: 本文深入剖析了iOS应用脱壳技术,首先解释了加壳(如FairPlay DRM)与脱壳的基本概念及必要性。通过otool命令可以检测应用的加密状态。文章详细介绍了三种主流脱壳工具:经典dumpdecrypted工具的使用方法、现代化Clutch工具的安装配置以及基于Frida的高级脱壳方案frida-ios-dump。针对特殊情况,还提供了使用LLDB手动dump内存的技术细节,包括查找基地址、计算dump范围和内存读取等操作。最后介绍了修复Mach-O文件头的Pytho

一个自学不成材的程序员 710

全方位对比Zookeeper、Eureka、Nacos、Consul和Etcd

「关注“石杉的架构笔记”,大厂架构经验倾囊相授」儒猿技术团队最新出品《基于ShardingSphere的分库分表实战》文章来源:【公众号:楼仔】本文给大家讲解 5 种常用的注册中心,...

石杉的架构笔记 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

探索etcd,Zookeeper和Consul一致键值数据存储的性能

这篇博文是探索三个分布式、一致性键值数据存储软件性能的系列文章中的第一篇:etcd、Zookeeper和Consul,由etcd团队所写,可以让我们全面地了解如何评估三个分布式一致存储软件的性能。翻译过程中难免有误差,还请大家谅解 一致性键值存储的用处 许多现代分布式应用程序都建立在分布式一致键值存储之上。Hadoop生态系统中的应用程序和“Netflix栈”的许多部分都使用...

dianfu2892的博客 265

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

注册中心不知选哪个?Zookeeper、Eureka、Nacos、Consul和Etcd 5种全方位剖析对比

本文给大家讲解 5 种常用的注册中心,对比其流程和原理,无论是面试还是技术选型,都非常有帮助。对于注册中心,在写这篇文章前,我其实只对 ETCD 有比较深入的了解,但是对于 Zookeeper 和其他的注册中心了解甚少,甚至都没有考虑过 ETCD 和 Zookeeper 是否适合作为注册中心。经过近 2 周的学习,原来注册中心除了 ETCD 和 Zookeeper,常用的还有 Eureka、Nacos、Consul。下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。注册中心主要有三种角色:服

IT界那些事儿 4062

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

etcd 与 Zookeeper、Consul 等其它 kv 组件的对比

本文翻译自 https://etcd.io/docs/v3.4.0/learning/why/关于 etcd本文的主角是 etcd。名称 “etcd” 源自两个想法,即 unix “/e...

aoho求索 1604

libkv多后端支持详解:Consul、Etcd、Zookeeper、BoltDB如何选择

libkv是一个强大的分布式键值存储抽象库,为Go开发者提供了统一的多后端支持解决方案。无论您需要构建分布式系统、服务发现机制还是分布式锁,libkv都能让您在Consul、Etcd、Zookeeper和BoltDB之间无缝切换。本文将深入解析这四种后端的特性差异,并提供实用的选择指南。 ## 📊 为什么需要多后端支持的键值存储? 在现代分布式系统中,键值存储已成为核心基础设施组件。libk

gitblog_00510的博客 861

Consul etcd zookeeper euerka比较

官方提供web管理界面, etcd 无此功能. 综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究. 目前业内有很多这种产品:zookeeper、etcd、consul,三者各有各的特点。这里就不一一说明三者的优缺,仅仅分析consul的优势 1.封装了服务发现的api,开发调用非常简单 2.提供了健康检查功能 3.使用了raft算法保证了一致性,比复杂

fei33423的专栏 1万+

etcd 与 Zookeeper、Consul 等其它 k-v 组件的对比

关于 etcd 本文的主角是 etcd。名称 “etcd” 源自两个想法,即 unix “/etc” 文件夹 和 “d” 分布式系统。“/etc” 文件夹是用于存储单个系统的配置数据的位置,而 etcd 用于存储大规模分布式的配置信息。因此,分配了 “d” 的 “/etc” 就是 “etcd”。 etcd 被设计为大型分布式系统的通用基板。这些大型系统需要避免裂脑操作,并且愿意牺牲可用性来实现此目的。 etcd 以一致且容错的方式存储元数据。 etcd 集群旨在提供具有稳定性、可靠性、可伸缩性和性能的键值存

任我行的博客 1197

全方位对比 Zookeeper、Eureka、Nacos、Consul 和 Etcd 实现原理和选型

今天讲解 5 种常用的注册中心,对比其流程和原理,无论是面试还是技术选型,都非常有帮助。 对于注册中心,在写这篇文章前,我其实只对ETCD有比较深入的了解,但是对于Zookeeper和其它的注册中心了解甚少,甚至都没有考虑过ETCD和Zookeeper是否适合作为注册中心。 经过近2周的学习,原来注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。 全文接近8千字,有点长,建议先收藏,再慢慢..

qwer123451234123的博客 1715
上一篇: MySQL timeout调研与实测
下一篇: Kafka技术资料总结(不断更新中)
Viking_bird
博客等级 码龄11年 92粉丝 183原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值