jjzjj

放弃写代码吧,技术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协议来实现数据的复

12.0 Zookeeper 数据同步流程

在Zookeeper中,主要依赖ZAB协议来实现分布式数据一致性。ZAB协议分为两部分:消息广播崩溃恢复消息广播Zookeeper使用单一的主进程Leader来接收和处理客户端所有事务请求,并采用ZAB协议的原子广播协议,将事务请求以Proposal提议广播到所有Follower节点,当集群中有过半的Follower服务器进行正确的ACK反馈,那么Leader就会再次向所有的Follower服务器发送commit消息,将此次提案进行提交。这个过程可以简称为2pc事务提交,整个流程可以参考下图,注意Observer节点只负责同步Leader数据,不参与2PC数据同步过程。崩溃恢复在正常情况消息广

12.0 Zookeeper 数据同步流程

在Zookeeper中,主要依赖ZAB协议来实现分布式数据一致性。ZAB协议分为两部分:消息广播崩溃恢复消息广播Zookeeper使用单一的主进程Leader来接收和处理客户端所有事务请求,并采用ZAB协议的原子广播协议,将事务请求以Proposal提议广播到所有Follower节点,当集群中有过半的Follower服务器进行正确的ACK反馈,那么Leader就会再次向所有的Follower服务器发送commit消息,将此次提案进行提交。这个过程可以简称为2pc事务提交,整个流程可以参考下图,注意Observer节点只负责同步Leader数据,不参与2PC数据同步过程。崩溃恢复在正常情况消息广