实现网站高并发的7个方法

一,10万用户-10次/s-单台;
二,500万用户-500次/s-多服务器,负载均衡;
三,1000万用户-1000次/s-分库分表,读写分离;
四,>1000万,引入缓存;
五,引入MQ集群,对写操作进行异步化处理,实现削峰填谷;
六,服务分离,我们将这些服务抽取出来利用分部式服务框架搭建分布式服务。阿里的Dubbo是一个不错的选择
七,对于海量数据的查询和分析,我们使用NoSQL数据库加上搜索引擎可以达到更好的性能
数据库其实本身不是用来承载高并发请求的,所以通常来说,数据库单机每秒承载的并发就在几千的数量级,而且数据库使用的机器都是比较高配置,比较昂贵的机器,成本很高。所以在高并发架构里通常都缓存这个环节,缓存系统的设计就是为了承载高并发而生。
所以单机承载的并发量都在每秒几万,甚至每秒数十万,对高并发的承载能力比数据库系统要高出一到两个数量级。
假如说,你现在每秒是 1000/s 次写请求,其中比如 500 次请求是必须请求过来立马写入数据库中的,
但是另外 500 次写请求是可以允许异步化等待个几十秒,甚至几分钟后才落入数据库内的。
那么此时你完全可以引入消息中间件集群,把允许异步化的每秒 500 次请求写入 MQ,然后基于 MQ 做一个削峰填谷

你可能感兴趣的:(学习,数据库,java)