草庐IT

【图解源码】Zookeeper3.7源码剖析,Session的管理机制,Leader选举投票规则,集群数据同步流程

Zookeeper3.7源码剖析能力目标掌握Zookeeper中Session的管理机制能基于Client进行Debug测试Session创建/刷新操作能搭建Zookeeper集群源码配置掌握集群环境下Leader选举启动过程能说出Zookeeper选举过程中的概念能说出Zookeeper选举投票规则能画出Zookeeper集群数据同步流程1Session源码分析客户端创建Socket连接后,会尝试连接,如果连接成功成功会调用到primeConnection方法用来发送ConnectRequest连接请求,这里便是设置session会话,关于客户端创建会话我们就不在这里做讲解了,我们直接讲解服

放弃写代码吧,技术leader们……

前段时间有个粉丝与我讨论了一个问题: 小钗,我半年前从技术经理升职到了技术总监,但这段时间的工作很恼火:一大半时间要去开各种产品会,还有一些时间要去处理团队扯皮,这导致我写代码的时间越来越少,半年下来感觉技术毫无成长,接下来该怎么办呢? 该同学的问题十分常见,而这里真正的问题是:程序员转型管理后,如何平衡技术及管理的精力投入。 然后看最后一句“技术毫无成长,接下来该怎么办”,这里是第二个问题:为什么技术Leader不写代码会感到焦虑? 这里围绕这两个问题开始展开。 技术大神的路线 “学而优则仕”这句话在技术界也行得通,技术好的人会被尊称为大神或者大佬,他会受到技术人员天然的尊敬,这种大神光环所

放弃写代码吧,技术leader们……

前段时间有个粉丝与我讨论了一个问题: 小钗,我半年前从技术经理升职到了技术总监,但这段时间的工作很恼火:一大半时间要去开各种产品会,还有一些时间要去处理团队扯皮,这导致我写代码的时间越来越少,半年下来感觉技术毫无成长,接下来该怎么办呢? 该同学的问题十分常见,而这里真正的问题是:程序员转型管理后,如何平衡技术及管理的精力投入。 然后看最后一句“技术毫无成长,接下来该怎么办”,这里是第二个问题:为什么技术Leader不写代码会感到焦虑? 这里围绕这两个问题开始展开。 技术大神的路线 “学而优则仕”这句话在技术界也行得通,技术好的人会被尊称为大神或者大佬,他会受到技术人员天然的尊敬,这种大神光环所

帮助团队成长是唯一的出路

相比于技术路线而言,管理技巧难以被量化。更严重的问题在于,对于leader自己而言似乎也没有动力去给领导力做进一步提升,因为一方面大部分公司对于对于团队以及leader的绩效考核,永远是以业务指标为导向的(在Thoughtworks并不是);另一方在公司框架的束缚和工作节奏的惯性带动下,团队工作表现也不太可能出现大的波动,似乎只要不犯错就是万事大吉。退一步说,没有胡萝卜仅仅用大棒来鞭策团队也是可以接受的,只要向上管理得当,没有人会关心你的管理工作是如何执行的。如果不犯错是leader的及格线的话,我们还能为管理技巧加多少分?Leader向左,manager向右长时间以来,我们一直被鼓励要成为l

帮助团队成长是唯一的出路

相比于技术路线而言,管理技巧难以被量化。更严重的问题在于,对于leader自己而言似乎也没有动力去给领导力做进一步提升,因为一方面大部分公司对于对于团队以及leader的绩效考核,永远是以业务指标为导向的(在Thoughtworks并不是);另一方在公司框架的束缚和工作节奏的惯性带动下,团队工作表现也不太可能出现大的波动,似乎只要不犯错就是万事大吉。退一步说,没有胡萝卜仅仅用大棒来鞭策团队也是可以接受的,只要向上管理得当,没有人会关心你的管理工作是如何执行的。如果不犯错是leader的及格线的话,我们还能为管理技巧加多少分?Leader向左,manager向右长时间以来,我们一直被鼓励要成为l

拜占庭将军问题和 Raft 共识算法讲解

作者:京东物流郭益如导读在分布式系统中,什么是拜占庭将军问题?产生的场景和解决方案是什么?什么是Raft共识算法?Raft算法是如何解决拜占庭将军问题的?其核心原理和算法逻辑是什么?除了Raft,还有哪些共识算法?共识问题作为分布式系统的一大难点和痛点,本文主要介绍了其产生的背景、原因,以及通用的Raft算法解决方案。01拜占庭将军问题【分布式对等网络中的通信容错问题。在分布式计算中,不同的计算机通过通讯交换信息达成共识按照一套协作策略行动。有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏

拜占庭将军问题和 Raft 共识算法讲解

作者:京东物流郭益如导读在分布式系统中,什么是拜占庭将军问题?产生的场景和解决方案是什么?什么是Raft共识算法?Raft算法是如何解决拜占庭将军问题的?其核心原理和算法逻辑是什么?除了Raft,还有哪些共识算法?共识问题作为分布式系统的一大难点和痛点,本文主要介绍了其产生的背景、原因,以及通用的Raft算法解决方案。01拜占庭将军问题【分布式对等网络中的通信容错问题。在分布式计算中,不同的计算机通过通讯交换信息达成共识按照一套协作策略行动。有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏

开源分布式Key/Value数据库

今天,介绍一个分布式数据库——https://github.com/hoorayman/popple。Popple是一个基于Raft协议的分布式键值数据库,采用Golang编写。它具有高性能、高可用性和数据一致性等特点。Popple的日志采用了mmap顺序写入方式,支持事务,并且代码清晰简单,易于维护。Raft协议是一种分布式一致性协议,它将集群中的所有节点分为三类:Leader、Follower和Candidate。Leader节点负责接收客户端请求并将其复制到所有Follower节点。当Leader节点失效时,通过选举机制选出新的Leader节点。Popple采用Raft协议来实现数据的复

开源分布式Key/Value数据库

今天,介绍一个分布式数据库——https://github.com/hoorayman/popple。Popple是一个基于Raft协议的分布式键值数据库,采用Golang编写。它具有高性能、高可用性和数据一致性等特点。Popple的日志采用了mmap顺序写入方式,支持事务,并且代码清晰简单,易于维护。Raft协议是一种分布式一致性协议,它将集群中的所有节点分为三类:Leader、Follower和Candidate。Leader节点负责接收客户端请求并将其复制到所有Follower节点。当Leader节点失效时,通过选举机制选出新的Leader节点。Popple采用Raft协议来实现数据的复