缓存
缓存是避免业务查询过多的请求mysql,导致业务不可用,根据场景来判断是否需要使用codis集群,如果并发量没有达到某个级别,16G的redis也可以,但是要避免redis在高并发下容易发生的缓存穿透,尽量做成高可用,并保证缓存实现的命中率。
消息队列
这也是高并发情境下的杀手锏,削峰填谷,将耗时的业务逻辑直接以队列的形式异步慢慢处理,防止请求过度积压,导致的服务器不可用。
mysql优化
有些场景下必须查询mysql的,也应该走索引,避免多表联合查询,甚至mysql的事务隔离级别都尽量的降低,或者直接去掉事务,采用最终一致性的补偿机制。升级mysql的配置,核心数和内存的提升对查询速度的优化是显而易见的,最好能一步到位的走一主多从,查询路由到从服务器上。
随机拒绝请求
这不是开玩笑,大家必须保证服务器可用,宁愿拒绝掉一些请求,也不能让服务器大量请求阻塞,最终导致大家都用不了。