首先限制打到MySQL的流量
- 前端加验证码、移动图像、回答问题等,限制同一用户的点击频率。
- 后端添加缓存,读写都采用缓存操作,每隔一定时间将结果更新到数据库,对前端请求限流和降级。
- 将请求放入消息队列,顺序将更新请求发送到数据库执行。
MySQL层面
- 将热点数据拆分,分在不同的库不同的表中,分散热点数据。
- 将update转为insert,在一次db交互中完成。
- MySQL参数调优,innodb_flush_log_at_trx_commit = 0,innodb_thread_concurrency = 2*CPU核数
优化MySQL存储引擎
- 优化数据库存储引擎,对单行记录并发排队写。(阿里云MySQL)
- MySQL对特定SQL限流。(阿里云MySQL)
- 特殊优化,增加新关键字,以表达热点更新的功能。(腾讯云MariaDB)


4194

被折叠的 条评论
为什么被折叠?



