用CAP定理解释团队管理的复杂性

技术人员在转变为团队管理者时,总是很难理解团队管理的复杂性。如果我们用CAP定理,可能会简单一些。


CAP定理

CAP定理是分布式系统中的重要定理。

C - Consistent ,一致性

A - Availability ,可用性

P - Partition tolerance ,分区容错性

CAP定理是指在分布式系统不可能同时满足这三项特性,最多满足两项。



CAP定理分析

分布式系统之所以叫分布式,是因为提供服务的各个节点分布在不同机器上,相互之间通过网络交互。那么必然存在网络故障断开的风险,这个网络断开的专业场景成为网络分区。因此,如果希望建设分布式系统,就需要支持分区容错性(P)。

那么分布式系统一般只能在一致性(C)和可用性(A)之间权衡。

如果希望保证分布式系统中不同分区的信息始终一致,那么就需要分区之间进行信息一致性同步,这时服务暂时不可用。

反之,如果希望服务一直可用,那么不同分区之间因为没有信息同步,必然无法保证一致性。

团队管理

团队管理的难点其实在于保证整个团队上下同心,左右齐一。

团队是由多个人组成,每个人的认知不同,沟通、表达能力也各有不同,必然会导致团队之间沟通出现信息延迟和失真。如果不想一个人单打独斗,就需要接受团队的这种缺陷。换言之,团队中分区容错性(P)必须保证。

那么一个团队中,只能在一致性和可用性之间取舍。

为了让团队所有人理解一致,围绕同一个目标工作,就需要开会,开会的时候就没法及时对外响应,这就是保证了一致性(C),舍弃了可用性(A)。

如果希望团队时刻都能及时对外响应,那么就很难保证团队所有成员信息一致。这就是保证了可用性(A),舍弃了一致性(C)。

复杂性

因为CAP定理的约束,我们在分布式系统中会不断进行取舍。

在直接对外服务中,我们尽可能保证可用性,牺牲一致性。某些用户看到的数据可能不是最新的,但却一定能看到。

在关键数据环节,我们力求一致性。在记账环节,我们必须保证支付完整返回。这个时候,用户需要付出耐心,等待整个过程的结束。

通过不同场景,我们可以进行不同取舍,从而保证整个系统运行起来严密有序。

和真实的分布式系统一样,团队管理也比理论模型更复杂。

在团队管理中,我们也需要针对不同场景做出取舍。

客户的需求,领导的要求,我们需要及时响应,这个时候就别开会了。

团队的重要规划也一定要保证相关人员理解一致正确。因为理解错误,做出来的结果是没有意义的。


总结

因为人的不确定性,管理团队比理解机器具有更强的不确定性。

希望借助CAP定理,能够更容易的理解团队管理。

祝大家工作愉快!

参考

CAP定理的含义,http://www.ruanyifeng.com/blog/2018/07/cap.html

一句话明白CAP原理,https://baijiahao.baidu.com/s?id=1614113645362681785


发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();