大数据和高并发的解决方案汇总

明天又见天明 2019-09-28 11:55:40
    大数据和高并发的解决方案汇总 1.3海量数据解决方案 1.使用缓存:   使用方式:1,使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。 2,使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。   最关键的问题是:什么时候创建缓存,以及其失效机制。 对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。 2.数据库优化:   1,表结构优化。   2,SQL语句优化,语法优化和处理逻辑优化。可记录各语句执行时间,有针对性的分析。   3,分区   4,分表   5,索引优化   6,使用存储过程代替直接操作 3.分离活跃数据   例如用户,可以分为活跃用户和不活跃用户。 4.批量读取和延迟修改   高并发情况可以将多个查询请求合并到一个。   高并发且频繁修改的可以暂存缓存中。 5.读写分离   上图,数据库服务器配置多个,配置主从数据库。写用主数据库,读用从数据库。 6.分布式数据库   将不同的表存放到不同的数据库中,然后再放到不同的服务器中。有些复杂问题,如:事务处理,多表查询。 7.NoSql和Hadoop   NoSql,not only SQL。没有关系型数据库那么多限制,比较灵活高效。   Hadoop,将一个表中的数据分层多块,保存到多个节点(分布式)。每一块数据都有多个节点保存(集群)。集群可以并行处理相同的数据,还可以保证数据的完整性。 1.4高并发的解决方案。   1.应用和静态资源分离。     将静态资源(js,css,图片等)放到专门的服务器中。   2.页面缓存     将应用生成的页面缓存起来可以节省大量cpu资源。   对于部分页面经常变换数据的,可以使用ajax来处理。 3.集群和分布式   集群,多台服务器具有相同的功能,主要起分流的作用。   分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。   又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。 4.反向代理   客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。   代理服务器和反向代理服务器:   代理服务器是代我们访获取资源,然后将 转载 https://www.cnblogs.com/mynameld/p/9209281.html
...全文
256 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧