• 分布式计算


    分布式计算是把一个需要巨大计算能力的任务分解成若干部分,然后分配给多个计算机来处理,处理完的结果汇总在一起得到最终的结果。

    1. 并行和并发的区别
      • 并行计算是在时间上同时运行的计算,并发是在一段时间内处在运行和等待的计算。比如说有两台服务器(进程),并行的数量是2,并发可以是1000, 这样是指在两台服务器上可以有1000个计算在运行,不过只有2个是在同时运行,其他的都是在等待资源。
    2. 分布式计算和并行计算的区别
      • 并行计算分为时间上的并行和空间上的并行。时间上的并行是流水线技术,在流水线上A-B-C,当机器完成A任务之后,将结果传输到计算B的机器,这个时候A将继续计算,而不是计算A的机器空闲直至C结束才开始下一轮,这样能更加充分的利用资源;空间上的并行是多个处理器并发的执行计算
      • 分布式计算是将数据分成多份,分配给多个处理器,每个处理器将负责所有逻辑的计算,汇总所有处理器的结果就是最终的结果。
      • 并行计算的延伸是超算,而分布式计算的延伸是云计算。超算是基础,云计算是架构。
    3. 分布式计算框架的关键支撑
      • 分片算法。随着数据计算量越来越大,单机计算所需要的时间越来越长,效率低下,分片算法会将数据分成多份,然后同步到多台机器上分别计算,这样就可以加速计算的运行。但是有着不足--不能负载均衡,如果是平均分片,有些机器的计算能力强,提前计算结束,那么后面会一直空闲。
      • 消息队列。分片算法能够带来更加快速的计算,如果能够解决缺点,那将会更加的高效,消息队列则弥补了缺点。通过单独的程序将计算任务推送到消息队列,然后负责计算的机器来消费队列中的计算任务。这样就具备了分布式计算的特征:计算任务的分发,扩容和容灾。
    4.  常见分布式计算框架
      • Hadoop: HDFS 文件存储系统,Map Reduce 计算框架,Yarn 资源管理系统
      • Spark: RDD 核心,DAG 计算框架,内存中计算,Yarn和Mesos 资源管理
      • Strom: Spout 消息源,Bolt 计算

    我是有底线的!

  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 28. Implement strStr()
    Scala函数
    布隆过滤器相关知识
    Storm 流式计算框架
    java高并发核心类 AQS(Abstract Queued Synchronizer)抽象队列同步器
    操作系统类型&操作系统结构&现代操作系统基本特征
    Kafka笔记
    Redis shell
    Lucene笔记
  • 原文地址:https://www.cnblogs.com/benchen/p/6005790.html
Copyright © 2020-2023  润新知