1.Redis、Es采用备份机制,写入时,向主集群写入,通过同步机制向从集群同步数据,读取时优先读取主集群,主机群出现问题时,切换为从集群。
2.采用限流熔断机制,限流一方面是通过中间件实现,一方面可通过远程配置中心增加开关,当开关打开时,直接返回结果,不做处理。
3.改善接口调用方式,减少不必要的Rpc调用,对Rpc接口调用增加超时时间控制,异常处理。
4.做好局部的异常控制,主逻辑保证可用。
5.并发量提高时,不止增加服务器数量,同时增加Redis空间、分片数,增加ES的分片数。
6.MQ、定时任务单独提出来,防止MQ消费导致CPU飙升,防止定时任务执行占用大量数据库连接池,定时任务的时间错开、低峰运行。
7.慢sql治理,高并发下,平时性能较好的Sql可能变的极为缓慢,防止死锁发生。
8.机房垂直调用,某个机房链路服务不可用时,不影响其他机房的流量打入
9.增加冷备、热备机器,冷备方便运营人员及时手动切换,承载压力,热备防止全部机器宕机时,服务不可用。
1.垂直扩容
2.水平扩容
3.串行变并行执行
5.数据库变es,es变redis,redis变本地缓存
6.非核心流程 异步执行
7. 大数据量变小,如查询分页
查询分页分为:查es、数据库分页,或者调用外部接口批量查询分量查询,100条数据调用一次。大数据往往出现很多问题,如响应缓慢、数据丢失、数据超长等
8.sql语句优化
根据主键查询、更新
9.事务优化,缩小事务范围,减小事务执行时间