最近读了两本书:《淘宝技术这十年》和《大型网站技术架构》,都是阿里系出品,前者是叙事+发展,以描述阿里的框架发展为背景,后者主要讲架构的组织和结构,遇到瓶颈和问题的处理和解决方案,在此记录看两本书的读书笔记

架构及发展

大型网站并不是一次就发展起来的,而是一步步演化而来,”不要试图直接建设搭建一个大型网站架构”

应用和数据分离

应用服务器和数据服务器对硬件需求不同,使不同特性服务器承担不同角色

使用缓存

根据80%的数据访问在20%的数据上,将这小部分数据缓存在内存中,减少数据库的压力;例本地缓存分类:有页面缓存、前端页面静态化、前端页面的片段化缓存、以及数据缓存,

服务器集群

使用集群是解决高并发、处理海量数据的常用手段。当一台的服务器处理能力存储空间不足时,不要企图换更大的服务器,更恰当的做法是增加服务器分担原有服务器的压力

数据库读写分离

根据数据库提供的主从热备功能,写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新到从数据库,这样从数据库读数据库的时候,可以通过从数据库读取数据

反向代理和CDN

CDN部署在网络提供商的机房,当用户访问网站服务时,可以从最近的网络提供商机房获取数据;反向代理部署在网站的中心机房,首先访问反向代理服务器缓存的资源

分布式(文件系统和数据库)

分布式数据库是网站数据库拆分的最后手段,在单表数据规模非常庞大时使用

使用NOSQL

非关系型数据库对于分布式需求和海量数据有着先天的处理优势,同时可以减少应用访问数据的麻烦;当前公司业务就使用了redis这种非关系型数据库作为流量经营中政企的数据访问

业务拆分

大型网站会将首页、商铺、订单、买家、卖家分成不同的产品线;包括我当前公司中准备启动的中心模块化都是在向这方向发展

两本书的思维导图

来自网络:大CC

豆瓣上有大牛说其中有些内容是入门级,评分都是7分多,不过对我这种网站架构经验不足的人来说,确实已经达到了拓展视野的目的