从被挑战点看微服务适用场景提到一个微服务绝对不能一个人维护,那几个人维护合适呢?三个火枪手原则给出了答案:
从系统规模来讲:
- 3 个人负责开发一个系统,系统的复杂度刚好达到每个人都能全面理解整个系统,又能够进行分工的粒度;
- 如果2个人开发一个系统,系统复杂度不够;
- 如果4个人甚至更多人开发一个系统,系统复杂度又会无法让开发人员对系统的细节都了解很深。
从团队管理来说:
- 3个人可以形成一个稳定的备份,即使1个人有事不在,2个人也可以支撑;
- 如果2个人的话,少了一个人剩余的1个人压力就很大;
- 如果是1个人就更惨了。
从技术角度:
- 3个人的技术小组能够形成有效的讨论,能快速达成一致意见;
- 如果是2个人,可能会有意见无法统一问题;
- 如果4个人或更多,就会出现有的成员不认真讨论,开会划水。