大型网站架构实战!
大型网站架构实战-说在前面的话!
互联网的发展速度超出了大部分人的预期。淘宝等购物平台、斗鱼等直 播平台、抖音等短视频平台和头条号等自媒体平台像雨后春笋般相继涌现, 它们都属于大型网站平台。随着互联网的持续发展,未来一定还会出现更多 的大型网站。成功的大型网站虽然是凤毛麟角,但是它们会成为行业的标 杆,会拉动大型网站的需求,使得大型网站带来的项目机会越来越多。
大型网站不仅要处理复杂、凌乱且时刻变化的业务需求,还要应对大量 的用户访问和数据处理;而且随着近些年云计算的兴起,大型网站越来越复 杂。
因此,搭建一个大型网站不再是几个软件工程师就能完成的。大型网站 要有更加全面的架构设计、更加复杂的功能和更加强大的处理能力,其对项 目开发人才的要求也越来越高。理解大型网站架构是应聘互联网开发岗位的 必要条件,也是一个加分项,更是成为架构师的前提。
在笔者职业生涯的开端,曾参与了一个合同额每年亿元级的软件项目。该项目有一个独特的架构,可以让开发人员近似千人一面地完成开发工作, 加之该项目有严谨的项目管理流程,使得它迭代十几年至今。
之后笔者参与 了一个不太成功的大型网站项目(合同额千万元级),其程序凌乱不堪,即 使工程师们各显神通,最后成本还是严重超标,运维成本也非常高。
那个不太成功的大型网站项目采用了当时最新的前端框架 Angular 2 和微 服务框架,高并发和高可用性设计等也都采用当时较为流行的方案,但开发 出来的软件质量却很差。
这让笔者深深地体会到,仅靠框架和技术很难保证 软件的质量,高质量的软件还依赖于良好的架构设计。架构设计不仅要选取 现成的软件工具,而且还需要思考软件本身的结构,另外还需要约束软件开 发的过程。对大型网站来说,想在项目之初就设计好架构,这确实是一件十分困难 的事情。因为一个成熟的大型网站系统是非常复杂的,其涉及的问题也非常 多,再加上工期等客观条件的限制,导致架构设计很多时候是滞后于开发 的,开发过程也很难被约束。
其实,在项目之初并不需要把大型网站整个架构都设计好,只需要解决 一些关键问题即可,其他问题可以在项目迭代的过程中解决。那么,大型网 站架构需要解决哪些关键问题呢?其实所谓关键问题都是经验之谈。解决好 这些关键问题,在能提高项目质量的同时还能降低项目的成本。
为了帮助读者全面、系统地学习大型网站架构设计的相关知识,笔者编 写了本篇,给出了自己对相关问题的思考,并对多年的从业经验进行了总 结,相信对相关读者会有所帮助。
学习目录




讲解内容
第 1 篇 大型网站架构的发展与面临的挑战本篇涵盖第 1、2 章,主要介绍大型网站架构的发展与面临的挑战。架构 分为业务架构与技术架构,本篇从宏观上介绍业务架构与技术架构,以及它 们之间的关系。

第 2 篇 大型网站架构的技术细节本篇涵盖第 3~6 章,详细介绍大型网站架构的技术细节。本篇把大型网 站架构细分为前端架构、后端架构、云计算服务架构和整体架构 4 个部分,分 别介绍每部分需要解决的关键问题及其解决方法。本篇结合实际项目介绍相 关知识点,以帮助读者更加深刻地理解大型网站架构。

第 3 篇 大型网站架构实战案例本篇涵盖第 7~9 章,选取几个较为通用且典型的网站系统作为案例,还 原这些系统的架构设计,以帮助读者进一步深入理解大型网站架构。

第 4 篇 未来架构的设想本篇涵盖第 10 章,介绍笔者对未来架构的设想。本篇内容虽然是一家之 言,但是笔者认为,架构设计是开放的,软件世界是无限包容的,其美好是 从想象开始的。

注:篇幅有限,资料已整理成文档,查看下方名片来进行获取!

评论