洞见微信聚合架构升级
🔒增加安全性🛠修复页面过于流畅的bug
从9月初平台的流量翻了几倍📈,尤其机器的访问。一批针对平台的爬虫🕷️,疯狂采集数据,导致网站打开缓慢甚至服务崩溃😡。由于大量的查询导致数据库负载过高。爬虫选择采集快照数据,导致网络带宽消耗完。所以查阅了几天的资料🧐,针对解决网站访问变慢使用以下方案👇。
1.复制一套全部数据到红队云☁️,各方面性能是购买💰腾讯云服务器【2H4G3M】的一倍。就是网速会慢一些🐢。2.开源历史采集的数据。3.增加反爬虫机制【nginx接口次数限制,黑名单、ip、header、js加密混淆、接口加密】4.使用http2.0。简单爬虫无法获取到数据。5.优化数据库【删除一些字段】
🤔分析主要原因还是服务器内存小,数据库瓶颈。查阅资料后无法短时间内优化数据结构。有个想法,以后将快照的数据分开存储,减少每次索引数据库的压力🍐。一个快照数据库占了太多的空间。
a. 首先是对数据库下重手,做了读写分离与主从复制。这样原数据库的压力相对变小,采集程序负责写入A数据库,网站程序负责读取B数据库。A与B做定时的主从复制。
b. 再者是对项目程序优化,对搜索的部分recode,减少搜索查询的次数。对数据接口请求进行加密。这样可以过滤到一些无脑的爬虫。
c. 其次对nginx服务器开启ip访问次数限制、ip黑名单限制。
d. 增加nginx负载源,根据负载源的性能分配权重,采用iphash分配请求。
e. 然后https使用了http2.0请求方式,阻止简单爬虫。
f. 最终修复页面过于流畅的bug。适当增加响应时间,之前就是因为响应的太快,所有cpu资源都消耗在了数据库上。现在压测🚫了一下最大带宽可以跑到6M。
另外:由于recode一些功能还没写完🚬,需要国庆期间再补充完善。
相关推荐: Linux基础 :tcpdump 命令详解与示例
1.命令简介 tcpdump 是一款类 Unix/Linux 环境下的抓包工具,允许用户截获和显示发送或收到的网络数据包。tcpdump 是一个在 BSD 许可证下发布的自由软件。 2.命令格式 tcpdump [ -AbdDefhlLnN…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论