经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
php如何处理大数据高并发
来源:cnblogs  作者:.Ronin  时间:2019/11/15 9:00:44  对本文有异议

大数据解决方案

使用缓存: 

使用方式:1,使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。

使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。

最关键的问题是:什么时候创建缓存,以及其失效机制。

对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。

分布式数据库

将不同的表存放到不同的数据库中,然后再放到不同的服务器中。有些复杂问题,如:事务处理,多表查询。

NoSql和Hadoop

NoSql,not only SQL。没有关系型数据库那么多限制,比较灵活高效。

Hadoop,将一个表中的数据分层多块,保存到多个节点(分布式)。每一块数据都有多个节点保存(集群)。集群可以并行处理相同的数据,还可以保证数据的完整性。

高并发的解决方案

应用和静态资源分离。

将静态资源(js,css,图片等)放到专门的服务器中。

页面缓存

将应用生成的页面缓存起来可以节省大量cpu资源。

对于部分页面经常变换数据的,可以使用ajax来处理。

集群和分布式

集群,多台服务器具有相同的功能,主要起分流的作用。

分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。

又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。

反向代理

客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。

CDN

CDN是一种特殊的集群页面缓冲服务器,和普通的集群的多台页面缓冲服务器相比主要区别是:其存放位置和分配请求方式不同。

CDN的服务器分布在全国各地,接收到请求后会将请求分配到最合适的CDN服务器节点来获取数据。其每一个CDN节点就是一个页面缓存服务器。

原文链接:http://www.cnblogs.com/heyue0117/p/11862888.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号