华为谷歌为何使用Mono-Repo单体仓库_rpc

Multi-Repo V.S Mono-Repo

华为谷歌为何使用Mono-Repo单体仓库_微软_02

单体应用没啥好说的,大学时期的课设都是的,toy 而已,适合初创业务。

华为谷歌为何使用Mono-Repo单体仓库_rpc

多体仓库

华为谷歌为何使用Mono-Repo单体仓库_微软_02

每个微服务对应各自代码仓库,尤其适合于现在微服务项目。

优点

华为谷歌为何使用Mono-Repo单体仓库_rpc_05


  • 职责单一,代码量和复杂度也容易控制
  • 服务边界清晰,不同团队负责维护不同的服务即可
  • 每个服务也易于独立开发测试和扩展,无需集中管理

缺点

华为谷歌为何使用Mono-Repo单体仓库_rpc_05


  • 每个项目组各自为政,代码规范风格不一,随意引入各种三方依赖
  • 整个项目集成部署就很麻烦,需要集中管理
  • 开发人员缺乏对系统的整体认知和业务理解,螺丝钉感觉巨强哦
  • 重复造轮子,工具方法不统一,部门之间技术基础设施差距大

华为谷歌为何使用Mono-Repo单体仓库_rpc

单体仓库

华为谷歌为何使用Mono-Repo单体仓库_微软_02

所有微服务对应一个代码仓库。

优点

华为谷歌为何使用Mono-Repo单体仓库_rpc_05


  • 易于规范代码结构和 codereview
  • 方便管理,一键集成和部署
  • 易于理解整个项目
  • 代码可复用性强,易于项目重构


华为谷歌为何使用Mono-Repo单体仓库_微软_10

目前交流群已有​ 800+人,旨在促进技术交流,可关注公众号

华为谷歌为何使用Mono-Repo单体仓库_thrift_11