天天速讯:康威定律如何解释微服务的合理性
微服务这个概念很早就提出了, 真正火起来是在2016年左右,而康威定律(Conway"s Law)就是微服务理论基础。
1、康威定律如何在半个世纪前就奠定了微服务架构的理论基础。
(1)人与人的沟通是非常复杂的,一个人的沟通精力是有限的,所以当问题太复杂需要很多人解决的时候,我们需要做拆分组织来打成对沟通效率的管理
(2)组织内人与人的沟通方式决定了他们参与的系统设计,管理者可以通过不同的拆分方式带来不同的团队间沟通方式,从而影响系统设计
(相关资料图)
(3)如果子系统是内聚的,和外部的沟通边界是明确的,能降低沟通成本,对应的设计也会更加高效。
(4)复杂得系统需要通过容错弹性的方式持续优化,不要指望一个大而全的设计或架构,好的架构和设计都是慢慢迭代出来的
2、具体的实践建议
(1) 我们要用一切手段提升沟通效率,比如slack,github,wiki。能2个人讲清楚的事情,就不要拉更多人,每个人每个系统都有明确的分工,出了问题知道马上找谁,避免踢皮球的问题。
(2) 通过MVP的方式来设计系统,通过不断的迭代来验证优化,系统应该是弹性设计的。
(3) 你想要什么样的系统设计,就架构什么样的团队,能扁平化就扁平化。最好按业务来划分团队,这样能让团队自然的自治内聚,明确的业务边界会减少和外部的沟通成本,每个小团队都对自己的模块的整个生命周期负责,没有边界不清,没有无效的扯皮,inter-operate, not integrate。
(4) 做小而美的团队,人多会带来沟通的成本,让效率下降。亚马逊的Bezos有个逗趣的比喻,如果2个披萨不够一个团队吃的,那么这个团队就太大了。事实上一般一个互联网公司小产品的团队差不多就是7,8人左右(包含前后端测试交互用研等,可能身兼数职)。
3、 再对应下衡量微服务的标准,我们很容易会发现他们之间的密切关系
分布式服务组成的系统 按照业务而不是技术来划分组织 做有声明的产品而不是项目 Smart endpoints and dumb pipes(我的理解是强服务个体和弱通信) 自动化运维 容错 快速演化总结
定律一: 组织沟通方式会通过系统设计表达出来,就是说架构的布局和组织结构会有相似。 定律二: 时间再多一件事情也不可能做的完美,但总有时间做完一件事情。一口气吃不成胖子,先搞定能搞定的。 定律三: 线型系统和线型组织架构间有潜在的异质同态特性。种瓜得瓜,做独立自治的子系统减少沟通成本。 定律四: 大的系统组织总是比小系统更倾向于分解。合久必分,分而治之。如若转载,请注明出处:开源字节 https://sourcebyte.cn/article/182.html
相关阅读
-
骁龙625神U加持 小米A1最新版本v13.2发布
4 5星高分!骁龙625神U加持,小米A1再升级不预装MIUI系统的小米手机... -
苹果设计了一套“灵动岛” 挖孔被设计...
苹果设计的灵动岛被过誉了?挖孔被设计成了苹果手机自从iPhone 14系... -
腾讯WiFi管家今日起正式停止服务 无法...
腾讯WiFi管家今日起正式停止服务12月28日零时零分12月1日消息,因业... -
长存TLC颗粒+联芸1202国产固态硬盘来了...
你觉得2TB的SSD能便宜到多少价位?SSD真的是越来越便宜了,从之前一... -
9499元的公版RT4080嫌贵?七彩虹等厂商...
9499元的公版RT4080嫌贵?七彩虹厂商已宣布供货9499元的公版RTX 408... -
苹果将在iPhone15系列上 放弃传统闪电接口
李楠:伪户外的钛合金AppleWatchUltra卖得贼好今日消息,李楠发文表...