大数据之分布式协调神器:Zookeeper选举

Yarn HA(高可用)架构 Yarn 集群部署 高可用架构 阅读详情

前言


 

分布式系统设计成主从节点主要是为了保障数据一致性,主从设计是一种最直观的数据一致性保障机制。


比如主从复制,主节点负责写,从节点负责读,提高读的性能。从节点定期通过心跳与主节点沟通,一旦主节点挂掉了,从节点马上接手主节点的任务。

但是主节点暂时失去响应,如瞬时负载过高,网络拥塞或者其他原因导致主节点暂时失去响应,超过响应超时时间,这个时候从节点启动,承担起leader的职责,但是原先的主节点又恢复了服务。这个时候,如果没有选举机制(不能仅仅自己宣告自己是leader,还要广而告之,让其他服务器或者客户端知道自己是leader),有可能会存在两个leader节点,导致集群发生混乱。

所以有了以下关于大数据框架主从选举的总结,赶快收藏吧!总有一个不经意时刻你会用到。

Zookeeper选举

Zookeeper介绍

Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生了变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。

Zookeeper特点

  1. 集群种只要有半数以上节点存活,Zookeeper集群就能正常提供服务。所以这就是选举机制的奇数原则(Zookeeper适合安装奇数台服务)。

  2. 一个领导者Leaders和多个跟随者Follower组成的集群。

Zookeeper的选举机制

全新集群选举

假设有五台服务器组成的Zookeeper集群,它们的id从Service1到Service5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动,来看看会发生什么。

  1. 服务器1启动,发起一次选举。服务器1投自己一票。此时服务器1票数一票,不够半数以上(3票),选举无法完成,服务器1状态保持为LOOKING;

  2. 服务器2启动,再发起一次选举。服务器1和2分别投自己一票并交换选票信息:此时服务器1发现服务器2的ID比自己目前投票推举的(服务器1)大,更改选票为推举服务器2。此时服务器1票数0票,服务器2票数2票,没有半数以上结果,选举无法完成,服务器1,2状态保持LOOKING。

  3. 服务器3启动,发起一次选举。此时服务器1和2都会更改选票为服务器3。此次投票结果:服务器1为0票,服务器2为0票,服务器3为3票。此时服务器3的票数已经超过半数,服务器3当选Leader。服务器1,2更改状态为FOLLOWING,服务器3更改状态为LEADING。

  4. 服务器4启动,发起一次选举。此时服务器1,2,3已经不是LOOKING状态,不会更改选票信息。交换选票信息结果:服务器3为3票,服务器4为1票。此时服务器4服从多数,更改选票信息为服务器3,并更改状态为FOLLOWING。

  5. 服务器5启动,同第4步一样当FOLLOWING。

非全新集群选举

对于运行正常的zookeeper集群,中途有机器down掉,需要重新选举时,选举过程就需要加入数据ID、服务器ID、和逻辑时钟。

  1. 逻辑时钟:这个值从0开始,每次选举必须一致。小的选举结果被忽略,重新投票(除去选举次数不完整的服务器)。

  2. 数据id:数据新的version大,数据每次更新都会更新version。数据id大的胜出(选出数据最新的服务器)。

  3. 服务器id:即myid。数据id相同的情况下,服务器id大的胜出(数据相同的情况下,选择服务器id最大,即权重最大的服务器)。

Kafka依赖Zookeeper的选举

Kafka依赖ZK做了哪些事

ZooKeeper 作为给分布式系统提供协调服务的工具被 kafka 所依赖。在分布式系统中,消费者需要知道有哪些生产者是可用的,而如果每次消费者都需要和生产者建立连接并测试是否成功连接,那效率也太低了,显然是不可取的。而通过使用 ZooKeeper 协调服务,Kafka 就能将 Producer,Consumer,Broker 等结合在一起,同时借助 ZooKeeper,Kafka 就能够将所有组件在无状态的条件下建立起生产者和消费者的订阅关系,实现负载均衡。

Kafka选举

Leader维护了一个动态的in-sync replica set (ISR),意为和leader保持同步的follower集合。当ISR中的follower完成数据的同步之后,leader就会给follower发送ack。如果follower长时间未向leader同步数据,则该follower将被踢出ISR,该时间阈值由replica.lag.time.max.ms参数设定。Leader发生故障之后,就会从ISR中选举新的leader。

因此这个集合中的任何一个节点随时都可以被选为leader。ISR在ZooKeeper中维护。ISR中有f+1个节点(follow+leader),就可以允许在f个节点down掉的情况下不会丢失消息并正常提供服。ISR的成员是动态的,如果一个节点被淘汰了,当它重新达到“同步中”的状态时,他可以重新加入ISR。因此如果leader宕了,直接从ISR中选择一个follower就行。

如果全挂呢?

一旦所有节点都down了,Kafka不会保证数据的不丢失。所以当副本都down掉时,必须及时作出反应。等待ISR中的任何一个节点恢复并担任leader。

附:Kafka为什么要放弃ZK

  1. 本身就是一个分布式系统,但是需要另一个分布式系统来管理,复杂性无疑增加了。

  2. 部署的时候必须要部署两套系统,的运维人员必须要具备的运维能力。

  3. Controller故障处理:依赖一个单一节点跟进行交互,如果这个节点发生了故障,就需要从中选择新的,新的选举成功后,会重新从拉取元数据进行初始化,并且需要通知其他所有的更新。老的需要关闭监听、事件处理线程和定时任务。分区数非常多时,这个过程非常耗时,而且这个过程中集群是不能工作的。

  4. 当分区数增加时,保存的元数据变多,集群压力变大

基于ZooKeeper的Hadoop高可用

HDFS 高可用

介绍

一个典型的HA集群,NameNode会被配置在两台独立的机器上,在任何时间上,一个NameNode处于活动状态,而另一个NameNode处于备份状态,活动状态的NameNode会响应集群中所有的客户端,备份状态的NameNode只是作为一个副本,保证在必要的时候提供一个快速的转移。所以对于HDFS来说,高可用其实就是针对NameNode的高可用。因为NameNode保存着集群的元数据信息,一旦丢失整个集群将不复存在。

主备切换控制器 ZKFailoverController:ZKFC 作为独立的进程运行,对 NameNode 的主备切换进行总体控制。ZKFailoverController 能及时检测到 NameNode 的健康状况,在主 NameNode 故障时借助 Zookeeper 实现自动的主备选举和切换,当然 NameNode 目前也支持不依赖于 Zookeeper 的手动主备切换。

原理

当HDFS的两台NN启动时,ZKFC(Zookeeper FailoverController)也会启动,ZKFC会向ZK上写一个临时序列化的节点(默认节点名是:/hadoop-ha)并取得和ZK的连接,一旦NN挂掉,那么ZKFC也会挂掉,该节点会被ZK自动删除掉,ZKFC有Watcher机制(当子节点发生变化时触动),另一个伴随着NN启动的ZKFC发现子节点变化了,是不是排在第一位,是,就通知第二台NN开始接管,向JN同步数据(下载IDS文件并和FImage合并,并生成新的FImage),将元数据都变成最新的,若是挂掉的NN重新启动,那么ZKFC还会向ZK写个节点,等现接管的NN挂掉后再接管成为Master。

什么是ZKFC?

  1. ZKFC是一个Zookeeper的客户端,它主要用来监测和管理NameNodes的状态,每个NameNode机器上都会运行一个ZKFC程序,它的职责主要有:一是健康监控。ZKFC间歇性的ping NameNode,得到NameNode返回状态,如果NameNode失效或者不健康,那么ZKFS将会标记其为不健康;

  2. Zookeeper会话管理。当本地NaneNode运行良好时,ZKFC将会持有一个Zookeeper session,如果本地NameNode为Active,它同时也持有一个“排他锁”znode,如果session过期,那么次lock所对应的znode也将被删除;

  3. 选举。当集群中其中一个NameNode宕机,Zookeeper会自动将另一个激活。

内部操作与原理

  1. HealthMonitor 初始化完成之后会启动内部的线程来定时调用对应 NameNode 的 HAServiceProtocol RPC 接口的方法,对 NameNode 的健康状态进行检测。

  2. HealthMonitor 如果检测到 NameNode 的健康状态发生变化,会回调 ZKFailoverController 注册的相应方法进行处理。

  3. 如果 ZKFailoverController 判断需要进行主备切换,会首先使用 ActiveStandbyElector 来进行自动的主备选举。

  4. ActiveStandbyElector 与 Zookeeper 进行交互完成自动的主备选举。

  5. ActiveStandbyElector 在主备选举完成后,会回调 ZKFailoverController 的相应方法来通知当前的 NameNode 成为主 NameNode 或备 NameNode。

  6. ZKFailoverController 调用对应 NameNode 的 HAServiceProtocol RPC 接口的方法将 NameNode 转换为 Active 状态或 Standby 状态。

几句话描述就是:ZooKeeper提供了简单的机制来实现Acitve Node选举,如果当前Active失效,Standby将会获取一个特定的排他锁,那么获取锁的Node接下来将会成为Active。

Yarn高可用

介绍

YARN ResourceManager 的高可用与 HDFS NameNode 的高可用类似但是 ResourceManager 不像 NameNode ,没有那么多的元数据信息需要维护,所以它的状态信息可以直接写到 Zookeeper 上,并依赖 Zookeeper 来进行主备选举。

内部操作与原理

  1. 在ZooKeeper上会有一个/yarn-leader-election/yarn1的锁节点,所有的ResourceManager在启动的时候,都会去竞争写一个Lock子节点:/yarn-leader-election/yarn1/ActiveBreadCrumb,该节点是临时节点。ZooKeepr能够保证最终只有一个ResourceManager能够创建成功。创建成功的那个ResourceManager就切换为Active状态,没有成功的那些ResourceManager则切换为Standby状态。

  2. RM会把job的信息存放在zookeeper的/rmstore目录下,active RM会向这个目录写app的信息。当active RM挂掉之后,standby RM会通过zkfc切换为active状态,然后从zookeeper的/rmstore目录下读取相应的作业信息。重新构建作业的内存信息,启动内部服务,开始接受NM的心跳信息,构建集群的资源信息,并且接受客户端的作业提交请求。

其他与总结

在大数据领域,还有许多框架依赖与Zookeeper去选择主从:比如Hbase集群,Kudu集群,Impala集群等等,最底层的原理大径相同。

总结

选举:Zookeeper能够很容易的实现集群管理的功能,若有多台Server组成一个服务集群,则必须要一个leader知道集群中每台机器的服务状态,从而做出调整重新分配服务策略。当集群中增加一台或多台Server时,leader同样需要知道。Zookeeper不仅能够维护当前的集群中机器的服务状态,而且能够选出一个leader来管理集群。

HA(分布式锁的应用):Master挂掉之后迅速切换到slave节点。

大数据左右手

技术如同手中的水有了生命似的,汇聚在了一起。作为大数据开发工作者,致力于大数据技术的学习与工作,分享大数据原理、架构、实时、离线、面试与总结,分享生活思考与读书见解。总有适合你的那一篇。

关注公众号!!!

和我联系吧,加群交流大数据知识,一起成长~~~

 

Zookeeper在大数据数据挖掘中的应用案例 本文不会讲Zookeeper的基础理论(比如节点类型、Watcher机制),而是聚焦大数据挖掘中的真实应用场景分布式任务调度与协调节点高可用与故障转移缓存一致性维护结果数据同步配置动态管理每个案例都会讲**“为什么用Zookeeper”“怎么用Zookeeper”“代码怎么写”**,帮你把Zookeeper从“理论”落地到“数据挖掘系统”中。假设有3个模型服务节点(A、B、C),都要参与Leader选举。// 每个候选节点的唯一标识(比如IP+端口) 阅读详情

相关推荐

震撼解读!大数据领域Zookeeper在数据治理中的应用

很多人吐槽Watcher是“一次性的”——触发一次就失效,得重新注册。但这其实是Zookeeper的刻意设计避免雪崩:如果Watcher是永久的,当一个节点有1000个Watcher,修改一次节点会触发1000次通知,压垮Zookeeper;保证可靠性:一次性Watcher让客户端必须“主动确认”——比如客户端收到通知后,重新注册Watcher,确保不会漏掉后续变化;简化实现:永久Watcher需要维护复杂的状态(比如哪个客户端注册了哪个Watcher),而一次性Watcher的状态更容易管理。

AI架构师小马 1111

【大数据】有关zookeeper的问题

zookeeper的使用

m0_51919640的博客 765

探究大数据领域Zookeeper的版本控制与数据一致性

在大数据分布式系统中,数据一致性是永恒的挑战——当多个节点同时修改同一份数据时,如何避免冲突?当节点宕机时,如何保证数据不丢失?Zookeeper作为“分布式协调神器”,用一套版本控制机制解决了这个问题。它通过**Zxid(事务ID)和版本号(Version)为每个数据操作打上“时间戳”,结合Quorum(多数派)**协议,确保所有节点的数据状态保持一致。

移动开发前沿的博客 267

解决ZooKeeper中/rmstore无法删除问题

无法删除znode /rmstore的原因在于yarn在注册时候候自己添加上ACL,导致无法直接删除。解决办法:重新设置ACL。之后,重新设置ACL:setAcl /rmstore/ZKRMStateRoot world:anyone:rwcda。首先,查看ACL:getAcl /rmstore/ZKRMStateRoot。

qq_40078436的博客 859

深入了解大数据领域Zookeeper的会话管理

Zookeeper是大数据领域最常用的分布式协调服务(如Hadoop、Kafka都依赖它),而会话管理是其核心能力之一。本文将聚焦Zookeeper会话的全生命周期管理,涵盖会话创建、心跳维持、状态转换、超时处理等关键环节,并结合实际开发中的常见问题(如会话过期导致的临时节点丢失)进行深入解析。本文将从生活场景类比入手,逐步讲解会话的核心概念→原理流程→代码实战→应用场景,最后总结常见问题和未来趋势,确保读者从“知其然”到“知其所以然”。会话(Session)

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 338

Aspose Java 25.10 版本深度破解:基于字节码修改的实战指南

本文提供了Aspose Java 25.10版本基于字节码修改的实战指南。详细介绍了如何通过Javassist工具逆向分析并修改Aspose Cells、Words、Slides及PDF组件的许可证验证逻辑,从而实现绕过限制,并完成最终的打包与功能验证。

stone的博客 1364

zookeeper常用命令以及权限控制

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。增加zookeeper权限账户,为ZooKeeper配置相应的访问权限。在通常情况下,zookeeper允许未经授权的访问。将ACL权限信息加密。

ycoder的博客 1211

【PLL】分频器设计权衡:从CMOS到CML的电路实现与优化

本文深入探讨了PLL中分频器的设计权衡,比较了CMOS和CML两种电路实现的优缺点。通过实际案例分析,展示了如何在速度、功耗和噪声之间取得平衡,特别是在5G射频芯片和Wi-Fi 6E等高频应用中的优化实践。文章还提供了混合架构设计和电源噪声协同优化的实用技巧,适合电路设计工程师参考。

weixin_42521843的博客 443

hadoop tyarn冲突_hadoop集群启动yarn时出现的问题和解决方法

1、问题使用start-all.sh 启动hdfs和yarn集群 ,启动后发现resourcemanager没启动,查看日志报错: 2020-06-01 09:42:21,280 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.yarn.server.resourcemanager.AdminSer...

weixin_34324618的博客 547

别再只跑recon-all了!FreeSurfer实战:从T1图像到freeview可视化的完整避坑指南

本文详细解析FreeSurfer从T1图像处理到freeview可视化的全流程,包括环境配置、recon-all深度解析、高级可视化技巧及性能优化策略。特别针对常见错误提供解决方案,帮助用户高效完成MRI数据分析,避免常见陷阱。

weixin_33404102的博客 353

macOS 发票查验全攻略:从证书导入到Safari调试

本文详细介绍了在macOS上进行发票查验的全流程,包括证书下载、钥匙串访问导入、Safari浏览器调试等关键步骤。重点解决了验证码不显示等常见问题,提供了证书信任设置和开发者工具使用的实用技巧,帮助用户顺利完成税务发票在线查验。

weixin_29204749的博客 547

【ZooKeeper】大数据之分布式协调神器:ZooKeeper选举

0.前言 分布式系统设计成主从节点主要是为了保障数据一致性,主从设计是一种最直观的数据一致性保障机制。 比如主从复制,主节点负责写,从节点负责读,提高读的性能。从节点定期通过心跳与主节点沟通,一旦主节点挂掉了,从节点马上接手主节点的任务。 但是主节点暂时失去响应,如瞬时负载过高,网络拥塞或者其他原因导致主节点暂时失去响应,超过响应超时时间,这个时候从节点启动,承担起leader的职责,但是原先的主节点又恢复了服务。这个时候,如果没有选举机制(不能仅仅自己宣告自己是leader,还要广而告之,让.

Sunny的专栏 502

ZYNQ PS裸机开发RS485

RS485 是一种通用的通信标准,广泛用于数据采集和控制应用中。它的主要优点之一是它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。

baidu_34971492的博客 831

10万字大数据框架面试知识点大整理,你还不拿去吗?

呕心沥血几个月,为大家奉献大餐

悦上心灵的博客 2117

PyCharm配置SSH和SFTP远程连接服务器

关于这篇博文,主要因为公司企业都是通过本地测试,同步到服务器进行跑动,舍友看着同事丝滑的操作,让我做个教程。本着钻研的精神,写下了这篇博客记录 关于pycharm这个软件,只有专业版才有远程连接的这个配置,社区版没有(同事一再强调要专业版,学生认证还可申请免费) 关于SSH和SFTP都是一种协议 具体知识点补充可看我这篇文章: 【计算机网络】常见面试题集锦(全) SSH:提供安全通道进行远程登录 SFTP协议可以远程文件传输获取等,数据的安全传输主要由SSH连接提供

码农研究僧的博客 5534

YOLO创新点改进点的消融实验设计规范

YOLO改进的消融实验是一种重要的方法,用于评估和验证模型中不同组件的影响。在进行YOLO改进的消融实验时,我们可以选择一些可能的改进点,比如Backbone网络、Anchor框设计和损失函数设计,然后通过实验来分析它们对模型性能的影响。首先,我们需要确定实验设计。对于每个改进点,我们将设计多个实验组,并针对每个实验组训练模型并进行性能评估。这里以三个改进点为例进行说明:改进点1:Backbone网络 (改进点2:Anchor框设计 (改进点3:损失函数设计 (

crasher123的博客 2912

Zookeeper在大数据领域的分布式系统监控体系构建

随着大数据技术普及,分布式系统(如Hadoop、Kafka、HBase)的节点规模从“百台”向“千台”甚至“万台”扩张。就像管理一个超大型小区,物业需要实时知道哪些住户(服务节点)在家、哪些设施(任务进程)故障——分布式监控体系的核心目标,就是实时感知节点存活状态、任务运行异常,并快速触发告警或自愈。本文将聚焦Zookeeper在这一过程中的关键作用,覆盖原理、实现与实战。

小程序开发 631

下载和运行GitHub上的代码教程总结

从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄。然而,今天终于成功了,激动地我赶紧来记录一下。 如何从GitHub上下载自己需要的项目: 1.首先,你要有一个自己的GitHub(https://github.com/)的账号。关于如何注册GitHub的账号以及如何获取你的SSH密钥这个问题,请大家参...

不怕万人阻挡,只怕自己投降 29万+

ZooKeeper之(一)ZooKeeper是什么

1.1 产生背景 当今是个分布式、集群、云计算等名词满天飞的时代。造成这种局面的一个重要因素就是,单一机器的处理能力已经不能满足我们的需求,不得不采用由多台机器组成的服务集群。服务集群对外提供服务的过程中,可以分解处理压力,在一定程度上打破性能瓶颈,并提高服务的可用性(不会因为一台机器宕机而造成服务不可用)。 上图中有三台机器,每台机器跑同样的一个应用程序。然后我们将这三台...

JKY0004的专栏 157

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

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Zookeeper简介

Zookeeper简介 产生背景 当今是个分布式、集群、云计算等名词满天飞的时代。造成这种局面的一个重要因素就是,单一机器的处理能力已经不能满足我们的需求,不得不采用由多台机器组成的服务集群。 服务集群对外提供服务的过程中,可以分解处理压力,在一定程度上打破性能瓶颈,并提高服务的可用性(不会因为一台机器宕机而造成服务不可用)。 假设有三台机器,每台机器跑同样的一个应用程序。然后我们将这三台...

zj57356498318的博客 239

OV9734 DATASHEET,完整规格书

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

[大数据学习研究] 4. Zookeeper-分布式服务的协同管理神器

本来这一节想写Hadoop的分布式高可用环境的搭建,写到一半,发现还是有必要先介绍一下ZooKeeper这个东西。 ZooKeeper理念介绍 ZooKeeper是为分布式应用来提供协同服务的,而且ZooKeeper本身也是分布式的,由分布在至少三台机器上,这几台机器形成一个Quorum,就像一个剧团一样。这个团里有个团长,就是leader的角色,其他的是follower。这个...

weixin_30951743的博客 205

大数据知识总结和测试方法

写博客是用来总结学习知识和成果的,本文为博主原创文章,未经博主允许不得转载,谢谢 周五部门培训Ambari,虽然之前也接触过大数据,也只是随便看看,要是说到他们之前有什么关系,就突然不知道了,所以总结一下,做个记录。也欢迎大家补充。 一、知识总结: 1、什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。 2、什么是Hadoop Apache Hadoop是一款支持...

不学习,永远发现不了自己的潜力 7287

33岁,想转行大数据,可行吗?

【了解自身学习大数据的目的】每个人都有自己的想法,学习大数据的目的是什么,是学会分析,还是学会管理呢。 【制定学习大数据的计划】,在学习的过程中,没有计划,估计是达不到理想的彼岸的。一个好的计划是详细合理的,是张弛有度的。 【三人必有我师】向他人学习,在现代社会里,大数据的思维,每个人都会拥有,只有不断向他人学习,才能更好的提高之间,多问为什么,根究5个w原则去做吧。 【互联网很强大】利...

weixin_45732643的博客 1960

Patroni: 高可用 PostgreSQL 操作神器

是 Zalando 公司开源的一款用于构建高可用 PostgreSQL 集群的工具,它通过自动化的方式来管理主备切换、数据复制和集群健康检查。这篇文章将深入探讨 Patroni 的技术特性、应用场景及其优势,帮助你更好地理解和利用这一强大的 PostgreSQL 管理方案。 ## 项目简介 Patroni 主要解决了 PostgreSQL 在分布式系统中的几个核心问题:自动故障转移、配置管理和...

gitblog_00027的博客 582

etcd:云原生时代的分布式基石,Kubernetes 的秘密记忆库!!!

etcd 的魅力在于它把分布式系统的核心难题(共识、一致性、高可用)封装成了一个可靠、易用的服务。它像一根“定海神针”,让在其之上构建的 Kubernetes 和各类分布式应用能够稳定运行、协调有序。学习 etcd,不仅仅是学习一个工具,更是深入理解分布式系统核心原理(尤其是 Raft 共识)的绝佳实践。它的简洁 API 设计、高性能表现以及在云原生生态中的核心地位,都使其成为现代架构师和开发者不可或缺的技能。还在为分布式系统的状态管理头疼?试试 etcd 吧!

foxtrotlab的博客 2036

大数据基础入门

大数据基础学习路线

qq_41858579的博客 1617
上一篇: 查询引擎怎么选?7000字解析所有开源引擎的秘密
下一篇: 大数据常见术语,你了解多少?
大数据左右手
博客等级 码龄9年 475粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值