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

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

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

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