美文网首页
大数据,多线程及高并发的处理方案

大数据,多线程及高并发的处理方案

作者: Tsnow308 | 来源:发表于2022-01-27 17:27 被阅读0次

一、数据量太大获取缓慢怎么办?
1、首先从需求的设计和代码层次出发
优化我们写的代码,减少没必要的资源浪费。
优化代码中的SQL语句,这也是重中之重,当查询的数据牵扯到的数据库表比较多时。

2、数据库优化
对于数据库的优化,在此不再做详细探讨。有时间我会再针对数据库的优化整理出一篇文章,大致的方案有如下几点:

1.数据库读写分离。
2.数据库集群和库表散列即分区分表。
3.数据库表结构优化。
4.批量读取和延迟修改
5.SQL语句优化。
6.索引优化。
7.使用存储过程代替直接操作。

3、使用缓存
1.框架自带的缓存:如果你了解hibernate和mybatis的缓存机制那就好办了,大家可参考mybatis一级缓存和二级缓存;
2.缓存的方式还可以通过程序代码将数据直接保存到内存中,例如通过使用Map或者ConcurrentHashMap;
3.另外还有,就是使用缓存框架:Redis、Ehcache、Memcache等。 使用缓存框架的时候,我们需要关心的就是什么时候创建缓存和缓存失效策略(注意:使用缓存的时候还要考虑到缓存服务器发生故障时候如何进行容错处理,是使用N多台服务器缓存相同的数据,通过分布式部署的方式对缓存数据进行控制,当一台发生故障的时候自动切换到其他的机器上去;还是通过Hash一致性的方式,等待缓存服务器恢复正常使用的时候重新指定到该缓存服务器。Hash一致性的另一个作用就是在分布式缓存服务器下对数据进行定位,将数据分布在不用缓存服务器上);

二、多线程高并发如何优化?
1、HTML静态化
我们可以将页面静态化提供访问来缓解服务器压力,能够缓解服务器压力加大以及降低数据库数据的频繁交换。适合于某些访问量过大,但是内容不经常改变的页面,如首页、公告页等;
前后端分离,即前端与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。前端界面的显示是通过后台服务器的接口返回的json数据进行渲染后返回给前端浏览器进行解析执行;
2、图片服务器分离
对于web服务器来说,图片是最消耗资源的,于是我们有必要把图片与页面进行分离,我们把图片放到独立的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片的问题而崩溃。在图片服务器上,我们可以对不同的配置进行优化。
静态资源部署至CDN上,即直接将静态资源全部存放在CDN服务器上。因为之前项目中的JavaScript,CSS以及img文件都是存放在CDN服务器上,将HTML文件一起存放到CDN上之后,可以将静态资源统一放置在一种服务器上,便于前端进行维护;而且用户在访问静态资源时,可以很好利用CDN的优点——CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
3、负载均衡
1.软/硬件负载均衡
2.本地/全局负载均衡

4、使用nosql和Hadoop技术
5、集群与分布式架构
6、反向代理
客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。
代理服务器和反向代理服务器:
代理服务器是代我们访获取资源,然后将结果返回。例如,访问外网的代理服务器。反向代理服务器是我们正常访问一台服务器的时候,服务器自己调用了别的服务器。
反向代理就是说,用户的请求请求到负载均衡的设备上,负载均衡设备再讲请求分发到空闲的应用服务器上处理,处理完成之后再通过负载均衡设备返回给用户,这样对于用户来说,后来的分发是不可见的。

相关文章

  • 大数据入门学习

    常用处理方案 对于大量数据的处理方案:大量数据处理。 对于高并发的处理方案:高并发处理。 ============...

  • 大数据,多线程及高并发的处理方案

    一、数据量太大获取缓慢怎么办?1、首先从需求的设计和代码层次出发优化我们写的代码,减少没必要的资源浪费。优化代码中...

  • 高并发和多线程理解

    随着IT的发展,传统的技术处理方式面临瓶颈,大数据时代,我们经常面临高并发和多线程的问题,高并发和多线程两者有什...

  • 高并发与多线程

    高并发≠多线程,高并发是指系统短时间内遇到大量操作请求的情况,而多线程是指一种处理方式。 1. 实现高并发需要考虑...

  • Spark从入门到放弃—RDD

    简介 Spark计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据...

  • 从一段代码说起锁和事务

    锁 锁是为了解决高并发产生的多线程对共享资源进行并发访问时,由于后端接口『来不及』处理线程请求的数据,导致最终出现...

  • 利用spring实现多线程 + 事务回滚

    前言 利用线程池和CountDownLatch,多线程并发处理批量数据,实现多线程事务回滚,事务补偿。 begin...

  • 后台服务组件的思考要点

    通用服务组件的构建思路: 1、关键在于思考数据处理方式及数据存储方式 2、关于数据处理,针对高并发场景(生产快,消...

  • 高并发项目处理方案

    高并发一般会发生在1、负载均衡(服务)处 2、数据库高并发 link 服务的高并发 应对高并发,解决方案大多从服务...

  • 看完这篇文章还不懂异步IO (asyncio) 协程?

    python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,I...

网友评论

      本文标题:大数据,多线程及高并发的处理方案

      本文链接:https://www.haomeiwen.com/subject/gguahrtx.html