• 大数据处理中必不可少的概念


      对于用户请求量过大的应用来说,总是会绕不开一些名词。比如用户请求量过大,会导致一种高并发的现象,那么如何来应对这种现象呢,在我浅薄的认知里,目前有两种方式。

      第一种是土豪公司做法,钱!钱!钱!用钱买更多的硬件,通过做服务器集群或者将不同的功能模块部署到不同的服务器上(分布式),将一台服务器的压力分散给多台服务器;

      第二种是牺牲做法,具体的说,可能就是通过以时间换取空间的方法,以牺牲部分客户体验效果(队列)或者牺牲部分数据的准确性(缓存)的方式来减少服务器的压力。

    1.高并发

      高并发是一种现象,当同一时间,多个用户访问应用时就难免会出现这种现象。

    2.集群

      集群是一种策略,将服务部署到多台服务器上,从而减少服务器的压力。集群离不开另一个名词(高可用)。高可用,即使得应用的可用程度提高,当一台服务器宕机时,不影响其业务的正常流程。

      集群的话,会增加硬件的成本。

    3.分布式

      分布式也是一种策略,将业务按照功能进行划分,不同的功能服务部署到不同的服务器上,这样既减少了服务器的压力,同样也不会因为其中某个功能不能使用导致业务整体瘫痪的现象。

      分布式也是通过增加硬件的方式,所以也会在一定程度上增加了硬件的成本。

    4.队列

      队列也可以看作是一种策略,通过将所有的请求保存到消息队列中,后台服务器逐一读取请求并处理的方式进行缓解服务器的压力。

      队列会导致用户的请求响应有延迟,实时性降低,从一定程度上牺牲了用户的体验感。

    5.缓存

      缓存毋庸置疑也是一种策略,通过将用户同样的访问请求保存起来,当用户第二次访问的时候,之前从保存的地方取出,直接响应,减少与数据服务器之间的交互。

      缓存如果在缓存内容没有及时更新的情况下响应给用户,会导致数据的准确性有偏差。

      这段时间一直听到这些名词,在之前的面试中也被频繁的问到这些概念,刚好目前也在学习这部分内容,就将自己的见解记录下来。希望有不对的地方,博友可以严厉指正,有遗漏的地方,可以补充说明。

      谢谢!

  • 相关阅读:
    CUDA_获取指定设备
    CUDA_常量内存
    CUDA_全局内存及访问优化
    CUDA_共享内存、访存机制、访问优化
    CUDA_寄存器和局部存储器
    CUDA_存储器模型
    CUDA常用概念及注意点
    迅雷笔试题_红黑积木求和
    迅雷笔试题_素勾股数的个数
    【Spring源码分析】Bean的生命周期
  • 原文地址:https://www.cnblogs.com/peterpc/p/13207110.html
Copyright © 2020-2023  润新知