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

Multi-Repo V.S Mono-Repo

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

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

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

多体仓库

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

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

优点

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

  • 职责单一,代码量和复杂度也容易控制

  • 服务边界清晰,不同团队负责维护不同的服务即可

  • 每个服务也易于独立开发测试和扩展,无需集中管理

缺点

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

  • 每个项目组各自为政,代码规范风格不一,随意引入各种三方依赖

  • 整个项目集成部署就很麻烦,需要集中管理

  • 开发人员缺乏对系统的整体认知和业务理解,螺丝钉感觉巨强哦

  • 重复造轮子,工具方法不统一,部门之间技术基础设施差距大

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

单体仓库

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

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

优点

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

  • 易于规范代码结构和 codereview

  • 方便管理,一键集成和部署

  • 易于理解整个项目

  • 代码可复用性强,易于项目重构

 

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