这段时间在研究bilibili泄露出来的源码,发现bilibili虽然使用了微服务的设计理念但是所有服务都是放在同一个仓库底下的,而我司和bilibili恰恰相反,我司所有项目都是分开独立的,也出现了一些问题。于是就产生了好奇并在网上进行了探索随后产生了这篇文章。
本文会尝试回答下面几个问题:
- 什么是单体仓库(
mono-repo
)? - 为什么
Google
/Facebook
/Bilibili
采用单体仓库? - 单体仓库(
mono-repo
)和多仓库(multi-repo
)分别解决了哪些问题? - 单体仓库(
mono-repo
)和多仓库(multi-repo
)在解决问题的同时又引入了哪些问题?