说在前面
在笔者职业生涯的开端,曾参与了一个合同额每年亿元级的软件项目。
该项目有一个独特的架构,可以让开发人员近似千人一面地完成开发工作,加之该项目有严谨的项目管理流程,使得它迭代十几年至今。
之后参与了一个不太成功的大型网站项目(合同额千万元级),其程序凌乱不堪,即使工程师们各显神通,最后成本还是严重超标,运维成本也非常高。
那个不太成功的大型网站项目采用了当时最新的前端框架Angular 2和微服务框架,高并发和高可用性设计等也都采用当时较为流行的方案,但开发出来的软件质量却很差。这让笔者深深地体会到,仅靠框架和技术很难保证软件的质量,高质量的软件还依赖于良好的架构设计。架构设计不仅要选取现成的软件工具,而且还需要思考软件本身的结构,另外还需要约束软件开发的过程。
对大型网站来说,想在项目之初就设计好架构,这确实是一件十分困难的事情。因为一个成熟的大型网站系统是非常复杂的,其涉及的问题也非常多,再加上工期等客观条件的限制,导致架构设计很多时候是滞后于开发的,开发过程也很难被约束。其实,在项目之初并不需要把大型网站整个架构都设计好,只需要解决一些关键问题即可,其他问题可以在项目迭代的过程中解决。那么,大型网站架构需要解决哪些关键问题呢?其实所谓关键问题都是经验之谈。解决好这些关键问题,在能提高项目质量的同时还能降低项目的成本。
为了帮助读者全面、系统地学习大型网站架构设计的相关知识,笔者编写了本文档,给出了自己对相关问题的思考,并对多年的从业经验进行了总结,相信对相关读者会有所帮助。
主要内容
本文档总共分为四部分,也就是四大篇来给大家介绍大型网站架构实战。
而又把大篇的内容划分为10章的内容。
需要这552页大型网站架构实战PDF文档来学习的小伙伴,可以点击此处来拿走了!
阿里架构师对本文评价
想要设计好大型网站架构,不仅需要理解其包含的庞杂内容,而且还需要拥有大量的项目经验以便建立相关的知识体系。
本文档的可贵之处在于,作者结合自己积累的丰富的项目经验,系统地归纳出大型网站架构的知识体系。
这使得本文不仅适合刚入行的初级软件工程师阅读,而且还适合中高级软件工程师阅读。
希望大家能够借鉴这种架构思维,并且能学以致用。
要记住:“语言只是一种工具,最重要的还是架构思维”。