干货!阿里「大型分布式技术手册」,站在巨人肩膀上学习架构

怎么去定义大型网站

满足一个大型网站的基本因素:

  • 访问量

  • 业务复杂度

  • 数据量

大型网站常用到的技术框架

初始阶段的网站架构

一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服务器就够了,这时应用程序、数据库、文件等所有资源都在一台服务器上,网站架构如下图所示:

应用服务和数据服务分离

随着网站业务的发展和用户量的增加,一台服务器就无法再满足需求了。大量用户访问导致访问速度越来越慢,而逐渐增加的数据也会导致存储空间不足。这时就需要将应用和数据分离,应用和数据分离后整个网站使用 3 台服务器:应用服务器、文件服务器和数据库服务器。这 3 台服务器对硬件资源的要求各不相同:

  • 应用服务器业务逻辑,需要强大的CPU

  • 数据库服务器对磁盘读写操作很多,需要更快的磁盘和更大的内存

  • 文件服务器存储用户上传的文件,因此需要更大的磁盘空间

此时,网站系统的架构如下图所示:

我们来思考一个问题:构建一个大规模但依然可靠的软件系统,是否可行?

如何构建可靠的大型分布式系统

其实当你真正去使用这些不同的架构方法去解决问题,然后在实践中观察它们的优劣,这确实会是一种很好的成长方式,但这是一个漫长的过程,而且没有哪个大厂会花时间让你自己去探索,所以这些经验又要从哪儿来呢?

答案是:前人的经验。既然别人已经总结了一套通过实践得来的经验,那我们为什么不去用呢?将别人的知识学会再变为自己的,才叫厉害。

这份在 GitHub 暴涨 4W 下载量的大型分布式技术手册,就可以作为大家学习的资料。这份手册是一位阿里大佬写的,他将自己掌握的知识条理清晰地叙述出来,让人听得明白,学得深刻,连阿里内部员工看了都会收藏一份。不如我们一起来看一下这份技术手册吧

阿里分布式技术手册

这份手册分为五个部分,每一部分都有明确的主题与目标,可以按顺序学,也可以跳过你不感兴趣的部分。不过篇幅有限,下面我就一截图的形式展示吧

第一部分 演进中的架构

  • 第 1 章 服务架构演进史

第二部分 架构师的视角

  • 第 2 章 访问远程服务

  • 第 3 章 事务处理

  • 第 4 章 透明多级分流系统

  • 第 5 章 架构安全性

第三部分 分布式的基石

  • 第 6 章 分布式共识

  • 第 7 章 从类库到服务

  • 第 8 章 流量治理

  • 第 9 章 可靠通信

  • 第 10 章 可观测性

     

第四部分 不可变基础设施

  • 第 11 章 虚拟化容器

  • 第 12 章 容器间网络

  • 第 13 章 持久化存储

  • 第 14 章 资源与调度

  • 第 15 章 服务网格

     

第五部分 技术方法论

  • 第 16 章 向微服务迈进

     

附 技术演示工程实践+ 部署 Kubernetes 集群

总结

这份技术手册不仅能告诉你某个技术点怎么做、为什么这么做,还会让你明白所有技术点如何协同配合,最终构建出一个完整的技术体系。相信大家认真钻研此手册的话,必定能在架构能力方面得到如凤凰涅槃般的升华。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值