- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GitHub 如何从单体架构迁移到微服务架构
本文介绍 GitHub 如何从单体架构迁移到微服务架构,并对其中一些最佳
实践做了详细说明。
1旅程开启
GitHub 创建于 2008 年,其宗旨是为开发人员托管和分享代码提供便利。
GitHub 的创建者也是开源贡献者,他们在 Ruby 社区非常有影响力。正因为
如此,GitHub 的架构深深地扎根于 Ruby on Rails。
在公司的整个发展历程中,我们雇佣了世界上最好的 Ruby 开发人员,帮
助我们扩展和优化代码库。如今,我们的平台上已经有超过 5000 万名开发人
员,每年有超过 8000 万个 pull 请求合并,全球各大洲有超过 1 亿个代码存
储库。
如你所见,这个单体架构已经带我们走得很远。一个演进 12 年的代码
库,每天要协调多次部署。我们有一个规模很大的平台,每天处理 10 亿次
API 调用,我们还提供了一个高性能的用户界面,专注于完成这项工作。
2 内部快速增长
在过去 18 个月中,GitHub 内部经历了快速增长。我们已经有超过 2000
名员工,为代码库做贡献的工程师数量已经是以前的两倍多。这种增长既包括
自身的逐步发展,也包括收购,如 Semmle、npm、Dependabot 和 Pull
Panda。
此外,GitHub 是一个高度分散的团队,在疫情发生前,我们就有超过
70% 的员工是在旧金山总部以外的地方办公。GitHub 的员工和承包商要跨六
大洲展开协作,他们工作的时区各不相同。我们有 1000 多名内部开发人员,
他们有各种各样的开发技能,涉及到许多不同的技术。
显然,我们需要从根本上重新考虑下 GitHub 的软件开发工作。让每个人
在参与开发之前都学习 Ruby ,让所有人都在同一个单体代码库上进行开发,
不再是扩展 GitHub 最高效、最优化的方法。根据康威定律,任何组织设计的
系统,其结构都是对组织沟通结构的复制。
反之亦然,单体架构会导致更大规模的涉众会议,更复杂的决策过程,因
为交织的逻辑和共享的数据会影响所有团队。
3 单体 vs. 微服务
因此我们就想,是不是该从 Ruby on Rails 单体迁出,转向一种微服务架
构了?如果是这样的话,我们该如何进行?单体架构和微服务架构各有所长。
在单体环境中,配置并运行应用程序更简单,不用考虑复杂的依赖关系,
拉取所有必要的依赖项。新建一个 Hubber ,只需几个小时就可以在本机上配置
好 GitHub 并运行起来。在单体架构中,代码在有些情况下会更简洁。例如,
不用添加超时处理逻辑,也不用考虑如何优雅地处理由网络延迟和中断所导致
的失败。
此外,由于所有人都工作在同一个技术栈上,大家对代码库都很熟悉,所
以可以方便地将开发人员和团队调去开发单体的其他特性,有利于实现特性的
全局最优。考虑到 GitHub 在过去 18 个月中的增长情况,微服务环境的一部
分优点吸引了我们。
例如,建立具有系统级所有权的特性团队,通过清晰定义的 API 契约确
立职责边界。在遵循 API 契约的前提下,团队有充分的自由选择最适合自己
的技术栈。代码库更小意味着阅读更容易、启动速度更快、问题排查更简单。
开发人员不用为了提高生产力去理解一整个庞大的代码库的内部运行机制。最
重要的是,服务现在可以根据各自的需求单独扩展。
4 务实——以赋能为
您可能关注的文档
最近下载
- 《水电解制氢工艺》课件.ppt VIP
- 第一单元习作家乡的风俗(素材积累)六年级语文下册单元作文(统编版).pdf VIP
- 1-6届汇总中南地区高校土木工程专业“结构力学竞赛”试题与答案.pdf VIP
- 旅游管理专业校企合作实践方案范文.docx VIP
- 2024上海市生物医药技术研究院公开招聘专技人员笔试备考题库及答案解析.docx VIP
- 2025届高考语文复习:现代文阅读之诗化小说+课件.pptx VIP
- 养老机构服务质量基本规范 GBT35796-2025(附服务流程).docx VIP
- 项目建筑垃圾排放台账.docx VIP
- GB 50794-2012 光伏发电站施工规范 高清晰版.docx VIP
- 中国航空学会-2024低空经济场景白皮书.docx
原创力文档


文档评论(0)