前面我们讲到了站点部署,站点部署完成以后,其实很长一段时间都不会有什么大事,一般情况下是这样的。但是,现在还没完,根据最新的国家法律法规,我们还需要做备案和公安备案,这两个会在后面单独拿出来说。我们这篇主要是说备份容灾与升级的思路。
备份:
其实备份有很多种方式,但是我们最早的一般都是直接在ftp将整个目录拖下来。简称手工备份,然后你会发现手工备份有多种方式,ftp是比较通用的方式,这个方式有个缺点,就是数据库不会备份下来。
所以我们还需要去备份数据库,这个后面讲,那么还有几种方式备份,网站根目录打包,会在该目录直接打包出一个压缩文件可以下载,但是有时候容易误操作。
文件打包的好处是可以去掉某些过于大的旧备份,或压缩文件。
其实我们有更好的方式。如下打包的方式,会打包到备份管理,可以看见所有的备份。
在备份管理可以找到基于ftp,网站,数据库的备份,下载即可。但是这里有个坑,wdcp支持多用户,所以,如果你和你的同事同时操作的话,极有可能导致程序整个崩溃掉,进而导致机器崩溃,造成站点无法访问的情况。曾经我们因为这个失误丢失了多份数据,才有了后来升级的考虑。
数据库怎么备份呢,一个是进入phpmyadmin,导出全部,另存为.sql 一个是数据库列表的备份。
我们先看phpmyadmin的操作。选中数据库后点导出,自定义,全选,拉到最下面执行,就会直接下载一个.sql后缀的文件。
数据库列表备份是在备份管理下载数据库文件的。
以上都是一些手工的方式,其实有一个自动化备份的,但不带下载,就是我们上一期讲到的计划任务。计划任务上期已经介绍过,这里不再赘述。
以上都是基于web站点级别的备份,在后期遭遇ddos的洪流后,我们发现需要更高级别的灾备,但受限于经费问题。
最开始我们是通过镜像和快照备份来操作容灾的,一旦挂掉就覆盖恢复,但是我们发现这个方式只是从原来数小时的恢复时间缩短到1小时以内,而且容易出现数据库内容不全或web站点bug增多的事情。
于是我们做了两套方案:
云服务器+弹性ip
云服务器+360CDN防护(带验证码)(目前已弃用)
早先采用的是方案二,因为方案二有两个好处,一个是免费的CDN服务,比较吸引爬虫,能带来Alex排名的提升。二是有站点后台的安全防护,以及黑白名单的设置。还有验证码访问,我们在抗D的实战中,通过这套体系,成功的抗住了65G左右的攻击。
(由于年代久远,截图已不可见)
为什么会切回方案一呢?有一些不太友好的地方,尤其是在运维管理上,和腾讯云本身是有冲突的。所以后来就做回了方案一。但是方案一的时候仍然是有缺陷的。它不够健壮,我们仍然需要比较长的时间来恢复,且机器有sql注入的情况。所以我们做了后续的升级,
云服务器+mysql高性能数据库+CDN+弹性ip+云监控+云拔测(cos和点播应用较少,只是某些文件做了引用,WAF和云镜也是少许,AS暂时不考虑,因为扛不住ddos 证书现在下掉了,有坑)
这套方案有什么优势呢,其实消耗也不是特别大的,唯一增加的就是数据库的消耗。有以下几个方面的好处
1.实时预警,拔测和监控可以实时预警状态。(运维响应快)
2.有镜像和快照以及数据库的冷热备在,一般波及不到数据库,恢复是分钟级的。
3.弹性ip在抗d上有一定的延缓。(只是缓解,有时间做一些操作而已,真的抗D还是要BGP高防产品或游戏盾)
4.我们每个月会使用一定量的cdn来优化某些时刻的体验。(免费额度)
5. cos和点播能保证某些数据的用户体验非常好。(少量消耗)
6.基础版的WAF和云镜能抵御大多数的盲注等常规入侵操作。
好了,本期的内容就到这里了,再往下就是更深一层的负载均衡,集群,容灾,多活等等,由于场景过大,不太清楚更新时间,下一篇是备案方向,下一个系列可能是单个产品的应用实操扩展。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。