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

简介: 华为谷歌为何使用Mono-Repo单体仓库

Multi-Repo V.S Mono-Repo

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


多体仓库

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


优点

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

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

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


缺点

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

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

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

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




单体仓库

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


优点

易于规范代码结构和 codereview

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

易于理解整个项目

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


目录
相关文章
|
并行计算 TensorFlow 调度
推荐场景GPU优化的探索与实践:CUDA Graph与多流并行的比较与分析
RTP 系统(即 Rank Service),是一个面向搜索和推荐的 ranking 需求,支持多种模型的在线 inference 服务,是阿里智能引擎团队沉淀多年的技术产品。今年,团队在推荐场景的GPU性能优化上又做了新尝试——在RTP上集成了Multi Stream,改变了TensorFlow的单流机制,让多流的执行并行,作为增加GPU并行度的另一种选择。本文详细介绍与比较了CUDA Graph与多流并行这两个方案,以及团队的实践成果与心得。
|
移动开发 JavaScript 前端开发
四种方式解决页面国际化问题——步骤详解
四种方式解决页面国际化问题——步骤详解
449 0
|
Shell 开发工具 开发者
mac出现无法打开“*“,因为无法验证开发者 问题解决
mac出现无法打开“*“,因为无法验证开发者 问题解决
6080 0
mac出现无法打开“*“,因为无法验证开发者 问题解决
|
3月前
|
并行计算 监控 调度
150%训练效率提升:感知检测小模型训练优化方法
本文章基于业务实践,总结有关感知检测小模型在不同算力卡上的训练方法,为有智能驾驶的场景提供可行的借鉴方法。
|
Ubuntu 开发工具 Python
Ubuntu apt-get和pip国内源更换
Ubuntu apt-get和pip源更换 更新数据源为国内,是为了加速安装包的增加速度。 更换apt-get数据源 输入:sudo -s切换为root超级管理员; 执行命令:vim /etc/apt/sources.
13258 0
|
11月前
|
JSON 人工智能 算法
探索LLM推理全阶段的JSON格式输出限制方法
文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
1796 52
|
存储 负载均衡 NoSQL
【Redis系列笔记】Redis集群
集群是一种在多个计算机或服务器之间分配和管理任务的方式。它们被广泛应用于大型计算任务、数据处理、网络服务和高性能计算等领域。在Redis中,主要有以下三种集群,分别是主从集群,哨兵集群,分片集群。
390 18
|
算法 安全 Go
Go切片删除元素错过这篇你就out了
Go切片删除元素错过这篇你就out了
3639 0
|
机器学习/深度学习 算法 C语言
【深度学习】优化算法:从梯度下降到Adam
【深度学习】优化算法:从梯度下降到Adam
356 1
|
自然语言处理 算法 Java
国王小组:开发交易所源码需要用到的开源框架
区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
国王小组:开发交易所源码需要用到的开源框架