高并发—–高并发和大数据的处理

随着网络的普遍,我们的生活慢慢被信息所包围。我们做web开发的,遇到高并发和大数据的情况很正常,那么我们需要怎么做才能解决这些问题?
高并发的解决方案
说到高并发,我们遇到的高并发是如何产生的呢?大家有想过么?并发并发,无外乎是同时访问我们的服务器,服务器处理能力达到上限,整个程序处于高负荷甚至宕机状态,高并发的同时数据库的查询或者数据的存储也相应变多。所以高并发的处理需要处理两个核心点,一个是web服务器问题,另一个就是我们的大数据问题。
第一种:使用集群和分布式
增加web服务器数量,做web服务器集群,通过负载均衡算法,将请求分发给压力小的服务器,使得请求在最短时间内得到响应,避免影响用户体验,集群分布式是大多数公司都使用的常用方式。
集群:在多台服务器集群的前提下,每台服务器的功能是一样的,无论访问哪台服务器都是一样的,主要起到分流的作用。
分布式:将不同的业务分给不同的服务器做,处理一个请求可能用到好几个服务器,使请求得到快速响应,分布式和集群可以用时使用。
第二种:页面静态化
在我们的web里面并不是所有的数据都是时刻变化,有些页面变动很小,我们就可以让这部分的页面存入缓存中,频率变化高的,我们可以使用Ajax来实现数据的更新,这样我们就避免了大量用户对数据库的请求。
第三种:应用和静态资源的分离
这个时候,我们将我们的静态资源(js,html,css等等)放在单独资源服务器上,这样就可以减轻我们应用服务器的压力。
第四种:通过反向代理将别的服务器资源展示给用户
反向代理服务器是我们正常访问A网站的时候,将B网站的信息发给我们。这样极大的减轻了我们服务器的压力。客户端直接访问的服务器并不真正提供服务,它从别的服务器获取资源然后将结果返回给用户
 
大数据的处理方案:
1, 使用缓存
我们可以将数据放在内存里面,避免每次访问数据库,对数据造成压力。同时使用缓存还能提高查询效率和缩短查询时间。
2,sql语句优化
sql语句的优化很重要,我们需要什么数据就查询什么数据,避免造成不必要的性能浪费。sql语句优化详情,在我的Mysql数据库(三)——mysql优化方案,有想法的可以看看。
3,数据库集群和库表散列
 
注:上述方案只是部分解决办法,更多的方法大家有兴趣可以自行百度。

 

 

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 高并发—–高并发和大数据的处理

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多