处理高并发的六种方法
Posted qingaoaoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理高并发的六种方法相关的知识,希望对你有一定的参考价值。
(1) 系统拆分,将一个系统拆分为多个子系统,用dubbo来搞。然后每个系统连一个数据库,这样本来就一个库,现在多个数据库,这样就可以抗高并发;
(2) 缓存,大部分的高并发场景,都是读多写少,读的时候走缓存,redis轻轻松松单机几万的并发;
(3) MQ(消息队列),将请求灌入mq中,控制在mysql承载范围之内,排队后面系统慢慢写,mq单机抗几万并也是可以的;
(4) 分库分表,一个库拆分为多个库,多个库来抗更高的并发;一个表拆分为多个表,减少每个表的数据量,提高sql跑的性能;
(5) 读写分离,可以搞个主从架构读写分离,主库写入,从库读取。流量太多的时候,还可以加更多的从库。
(6) Solrcloud,是solr提供的分布式搜索方案,可以解决海量数据的分布式全文检索,因为搭建了集群,因此具备高可用的特性,同时对数据进行主从备份,避免了单点故障问题。可以做到数据的快速恢复。并且可以动态的添加新的节点,在对数据进行平衡,可以做到负载均衡;
以上是关于处理高并发的六种方法的主要内容,如果未能解决你的问题,请参考以下文章
JUC并发编程 -- 回顾多线程(线程的六种状态 & wait / sleep 的区别)
高并发SimpleDateFormat类到底为啥不是线程安全的?(附六种解决方案,建议收藏)