大型网站架构(LAMP)数据库的演变

之前有接触过,数据一旦遇到高并发访问就会立即宕掉,于是就学了点关于如何解决数据库高并发下能够正常访问的知识体系,

第一步:分离应用服务器和数据库服务器
可能刚开始建站的时候,你身边没有几台服务器,于是你会把所有的应用  数据库安装到一台服务器,但是随着访问的人越来越多,造成服务器的压力变大。数据库出问题,应用也会出问题;应用有问题,那么数据库也会出问题。于是你首先想到的就是将应用和数据库分离开,当然你有钱的话也可以把图片服务器作为一个单独的服务器那就更好了。

第二步:程序优化数据库
但是随着时间的推移,服务器的压力会越来越大了,没办法这能优化程序了:建立缓存,优化查询语句,这样网站又恢复了原来的速度和稳定性。

第三步:数据库的分库,分表
随着访问量的继续增加,你会发现数据库写入、更新的这些操作的部分数据库连接的资源竞争非常激烈,导致了网站变慢。这时候分库和分表就成了主要的解决办法,但是分库就意味着需要对程序进行改动。

第四步:mysql数据库主从,读写分离
突然有一天,数据库的噩梦又一次出现在眼前了,数据库连接的资源又出现了不够用的现象,而这个时候又已经分库分表了,开始分析数据库的压力状况,可能会发现数据库的读写比很高,这个时候通常会想到数据读写分离的方案

第五步:mysql集群
当然可能你的网站已经开始向大型靠近了,你会发现网站已经承受不了怎么大的压力了,于是你会想到扩展,当然你可以进行垂直扩展,购买性能更好的服务器。但是这里建议你进行水平扩展,建立mysql集群。不断增加mysql数据库数量来应对数据库的压力。
原文地址:https://www.cnblogs.com/goldenstones/p/2873612.html