大数据解决方案css
使用缓存: ajax
使用方式:1,使用程序直接保存到内存中。主要使用Map,尤为ConcurrentHashMap。数据库
使用缓存框架。经常使用的框架:Ehcache,Memcache,Redis等。缓存
最关键的问题是:何时建立缓存,以及其失效机制。服务器
对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。session
分布式数据库并发
将不一样的表存放到不一样的数据库中,而后再放到不一样的服务器中。有些复杂问题,如:事务处理,多表查询。框架
NoSql和Hadoop分布式
NoSql,not only SQL。没有关系型数据库那么多限制,比较灵活高效。高并发
Hadoop,将一个表中的数据分层多块,保存到多个节点(分布式)。每一块数据都有多个节点保存(集群)。集群能够并行处理相同的数据,还能够保证数据的完整性。
高并发的解决方案
应用和静态资源分离。
将静态资源(js,css,图片等)放到专门的服务器中。
页面缓存
将应用生成的页面缓存起来能够节省大量cpu资源。
对于部分页面常常变换数据的,能够使用ajax来处理。
集群和分布式
集群,多台服务器具备相同的功能,主要起分流的做用。
分布式,将不一样的业务放到不一样的服务器中,处理一个请求可能须要多台服务器,进而提升一个请求的处理速度。
又分为静态资源集群和应用程序集群。后者较复杂,常常要考虑session同步等问题。
反向代理
客户端直接访问的服务器并非直接提供服务的服务器,它从别的服务器获取资源,而后将结果返回给用户。
CDN
CDN是一种特殊的集群页面缓冲服务器,和普通的集群的多台页面缓冲服务器相比主要区别是:其存放位置和分配请求方式不一样。
CDN的服务器分布在全国各地,接收到请求后会将请求分配到最合适的CDN服务器节点来获取数据。其每个CDN节点就是一个页面缓存服务器。