首页 > 代码库 > 大型网站技术架构阅读笔记4
大型网站技术架构阅读笔记4
大型网站技术架构阅读笔记4
这次阅读了第三篇维基百科的高性能架构设计分析和海量分布式储存系统Doris的高可用架构设计分析。对于这两节主要讲了许多内容。
作为一个百科服务类网站,维基百科主要面临的挑战是如何应对来自全球各地的巨量并发的词条查询请求。相对其他网站,它的业务比较简单,用户操作大部分是只读的,这些前提使它的性能优化约束变得简单,可以让技术团队将每一种性能优化手段都发挥到极致,且业务束缚较少,因此它的性能优化比较有典型意义。所谓网站前端是指应用服务器之前的部分,包括DNS服务,cdn服务,反向代理服务,静态资源服务等,对于它而言,80%以上的用户请求可以通过前端服务返回,请求根本不会到达应用服务器,这也就使得网站最复杂,最有挑战的应用端和存储压力骤减。服务端主要是PHP服务器,这里是网站业务逻辑的核心部分,运行的模块都比较复杂笨重,需要消耗较多的资源,它将最好的服务器部署在这里,从硬件上改善性能。包括缓存,存储,数据库等被应用服务器依赖的服务都可以归类为后端服务。后端服务通常是一些有状态的服务,即需要提供数据存储服务,这些服务大多建立在网络通信和磁盘基础上,是性能的瓶颈,也是性能优化的重灾区,后端优化基础最主要的手段是使用缓存,将热点数据缓存在分布式缓存系统的内存中,加速应用服务器的数据读操作速度,减轻存储和数据库服务器的负载
系统整体上可分为如下三个部分
应用程序服务器:他们是存储系统的客户,对系统发起数据操作请求。数据存储服务器,他们是存储系统的核心,负责存储数据,响应应用服务器的数据操作请求。管理中心服务器:这是一个由两台机器组成的主-主热备的小规模服务器集群,主要负责集群管理,对数据存储集群进行健康心跳检测;集群扩容,故障恢复管理;对应用程序服务器提供集群地址配置信息服务等。其中数据存储服务器又根据应用的可用性级别设置数据复制份数,即每个数据实际物理存储的副本数目,副本份数uyueduo,可用级别越高,当然需要的服务器也越多。为了便于管理和访问数据的多个副本,将存储服务器划分为多个序列,将数据的多个副本存储在不同的序列中。应用服务器写入数据时,根据集群配置和应用可用性级别使用路由算法在每个序列中计算得到一台服务器,然后同时并发写入这些服务器中,应用服务器读取数据时,只要随机选择一个序列,根据相同路由算法计算得到服务器编号和地址,即可读取。通常情况下,系统最少写入的副本份数是两份。在正常状态下,存储服务器集群中的服务器互不感知,不进行任何通信,应用服务器也只在启动时从管理中心服务器获取存储服务器集群。从而结束
大型网站技术架构阅读笔记4