大数据和高并发的解决方案总结
来源:互联网 发布:黑魂3日系女捏脸数据 编辑:程序博客网 时间:2024/05/16 12:27
软件刚开始的时候是为了实现功能,随着信息量和用户的增多,大数据和高并发成了软件设计必须考虑的问题,那么大数据和高并发本质是什么呢?
本质很简单,一个是慢,一个是等。两者是相互关联的,因为慢,所以要等,因为等,所以慢,解决了慢,也就解决了等,解决了等,也就解决了慢。
关键是如何解决慢和等,核心一个是短,一个是少,一个是分流。
短是指路径要短。典型的mvc结构是请求->controller->model->dao->view,然后把页面返回给用户。要想短的话,
1,页面静态化- 用户可以直接获取页面,不用走那么多流程,比较适用于页面不频繁更新。
2,使用缓存- 第一次获取数据从数据库准提取,然后保存在缓存中,以后就可以直接从缓存提取数据。不过需要有机制维持缓存和数据库的一致性。
3,使用储存过程-那些处理一次请求需要多次访问数据库的操作,可以把操作整合到储存过程,这样只要一次数据库访问就可以了。
4,批量读取 - 高并发情况下,可以把多个请求的查询合并到一次进行,以减少数据库的访问次数
5,延迟修改 - 高并发情况下,可以把多次修改请求,先保存在缓存中,然后定时将缓存中的数据保存到数据库中,风险是可能会断电丢失缓存中的数据,
6, 使用索引 - 索引可以看作是特殊的缓存,尽量使用索引就要求where字句中精确的给出索引列的值。
少是指查询的数据要少。
1,分表 - 把本来同一张表的内容,可以按照地区,类别等分成多张表,很简单的一个思路,但是要尽量避免分出来的多表关联查询。
2,分离活跃数据 - 例如登录用户业务,注册用户很多,但是活跃的登录用户很少,可以把活跃用户专门保存一张表,查询是先查询活跃表,没有的话再查总表,这也类似与缓存啦。
3, 分块 - 数据库层面的优化,对程序是透明的,查询大数据只用找到相应块就行。
分流三种。
1,集群 - 将并发请求分配到不同的服务器上,可以是业务服务器,也可以是数据库服务器。
2,分布式 - 分布式是把单次请求的多项业务逻辑分配到多个服务器上,这样可以同步处理很多逻辑,一般使用与特别复杂的业务请求。
3,CDN - 在域名解析层面的分流,例如将华南地区的用户请求分配到华南的服务器,华中地区的用户请求分配到华中的服务器。
先总结这么多 希望对大家有帮助
- 大数据和高并发的解决方案总结
- 大数据和高并发的解决方案总结
- 大数据和高并发的解决方案总结
- 大数据和高并发的解决方案
- 大数据和高并发的解决方案汇总
- 高并发和大数据的比喻
- 高并发.大数据--统计数据--解决方案
- 高并发与大数据解决方案概述
- 关于海量数据和高并发网站的解决方案
- 浅谈大数据和高并发的解决办法
- 高并发和大数据的解决方式
- 高并发,大数据
- 高并发.大数据--解决方案--几件利器
- 大型网站应用之海量数据和高并发解决方案总结一二
- 大型网站应用之海量数据和高并发解决方案总结一二
- 大规模分布式应用之海量数据和高并发解决方案总结一二
- 大规模分布式应用之海量数据和高并发解决方案总结一二
- 大规模分布式应用之海量数据和高并发解决方案总结
- 【caffe-Windows】识别率批量输出——matlab实现
- 安卓利用get和post方式提交数据
- 书签_各种资源
- 我对C++ string和length方法的一个长期误解
- POJ
- 大数据和高并发的解决方案总结
- 加密解密 签名验签学习笔记
- Ultra-QuickSort
- 如何在RecyclerView上面实现“拖放”和“滑动删除”-1
- 让Android运行在SD卡上
- WireShark 过滤表达式
- poj1724 ROADS
- iOS:shareSDK第三方登录
- phpexcel导出超过26列解决方案