作者:飞上天的鱼 | 来源:互联网 | 2023-09-25 11:58
《大型网站技术架构:核心原理与架构分析》阅读心得记录(以下个人理解,如果错误还望指正)1.机器的演化初始架构等级1:一个应用服务器中包含应用程序,文件,数据库都包含等级2:分成三个
《大型网站技术架构:核心原理与架构分析》阅读心得记录(以下个人理解,如果错误还望指正)
1.机器的演化
初始架构等级1:一个应用服务器中包含应用程序,文件,数据库都包含
等级2:分成三个服务器应用程序服务器,文件服务器,数据库服务器。
等级3:建立缓存,将最常用的数据进行缓存,此处分成2.5和3两个等级,2.5是依靠自己的大内存,3是依靠远程分布式缓存服务器
等级4:应用服务器的集群,增加一台负载均衡的服务器用来进行调度。
等级5:当数据库负载过高时,使用主从分离的技术,建立一个主库,一个从库,两种直接数据同步,并且读取与写入进行分离。
等级6:加快各地区的网络访问,使用反向代理和CDN进行缓存。6.5,将数据库进行业务分库,形成分布式数据库系统,必要的大数据使用NoSQL等技术
等级7:进行数据的消息队列,数据提交的排队服务(应付诸如秒杀,抢购等业务),特殊情况,特殊对待
当以上架构都进行集群的时候,服务器已经上百台。
当然没有网站生来就大的,都是一步一步演化出来的。一开始不比考虑那么多,先做出来,再一步一步进行架构。
2.网站的演化
不要为了模式而去模式,业务成就模式。不同的业务产生出来的模式都是不一样的。(这应该就是进化学,模式适应了业务,得到了生存)
分层手段:应用层,服务层,数据层等等横行划分
分割手段:比如分层是蛋糕横着切,分割就是纵向切割。将功能业务等分割达到可以分开部署的程度
分布式:(意思就是更多的计算机可以完成相同的功能,比如两台电脑部署同一个网站,另一台电脑放数据库提供这两台电脑操作)功能和职能各种分开,达到各尽其职,如同一家大型的工厂,各个流水线分工合作。
集群:集群也是很多服务器集合,可以自动增加多台服务器扩展,当一台服务器宕机或者压力过大时候,不影响其他服务器。当业务增长,可以增删服务器。分布式是一种分工,而集群就是将他们集中,变成一个群体,并对外提供服务。
灾备:数据的灾备,建立数据中心,灾备数据
自动化:服务于网站的自动化工具。
安全:大网站完备的网站安全团队
性能:并发的处理,吞吐量,优质的代码,前后端的优化,文件的压缩,减少冗余,服务器配置等性能。
一切的一切并没有银弹,一个技术不行就再请一个过来,但是有没有用确实另外一回事。整本书提倡最多的就是,一个人不行,就两个人来,然后做到合理的调度,做成一个高可用的网站。