信息技术领域重要分支—分布式计算。分布式计算通过将任务分配到多个物理的计算资源上进行处理,以来提高计算效率和资源利用率。今天主讲分布式计算架构的关键组成以及在云服务器背景下任务调度的不同方式,然后再综合来看这些调度策略是怎样适应云环境的动态性和可扩展性。
以前的集中式计算模式相对落后,根源是因为很难满足现在复杂的数据处理和存储需求。然而分布式计算却从根本上解决了这样的困局,它能提供的就是高扩展性、灵活性以及容错性。现在被大部分企业采用的云服务器,也从一定程度上加速了分布式计算发展,不论是任务调度还是资源管理,云服务器都在帮助企业从传统模式下走出。
·先来说说分布式计算架构的组成
资源层-包括处理节点、存储节点和网络基础设施;
其中处理节点是执行计算任务的工作单元,这个单元不固定死,可以是物理服务器、容器。一般来说,处理节点通常分布在不同的地理位置,并且提供高性能的计算能力。
存储节点主要负责数据的存储和检索,支持本地存储、网络附加存储(NAS)或者是存储区域网络(SAN),存储节点要配有具备可靠性和数据容错机制,用来确保数据的安全和持久性。
网络基础设施包括了链接各个节点的网络设备和通信协议。以太网、光纤网等的路由策略对于数据传输来说起到正面作用,可以保证数据传输的速度以及稳定性。
管理层-负责资源的分配、监控以及管理;
根据任务需求和资源的可用性,动态分配处理节点和存储资源是资源分配的重心,这其中涵盖了资源的初始化、配置以及回收。
监控和管理是指实时监控系统的性能指标,比如节点负载、网络流量以及任务的执行状态,也针对资源的健康状况进行检测和恢复。
确保系统访问的安全性、实施认证和授权机制是安全性控制中重要一环。
通信层-确保各个节点之间的数据交换和协调;
如数据传输协议,是对数据在节点之间传输的规则和格式的定义。TCP/IP、HTTP等。
消息传递系统提供了一种机制,使得节点可以发送和接收信息,支持任务的协调和同步。
网络通信的优化是针对网络延迟和带宽限制,优化数据传输的效率和可靠性。
应用层-提供应用程序的接口和执行环境;
接口抽象、任务抽象和封装,执行环境是应用层特点。
接口抽象为应用程序提供统一接口,隐藏底层资源的复杂特征。
任务抽象是将应用程序分解为可以独立执行的任务,便于在多个节点上并行处理。
然后是执行环境,在运行时,提供必要支持,比如内存管理、进程调度和错误处理。
·主要的两种架构模式分为Master-Slave模式以及Peer-to-Peer模式。其中前者是常见模式,Master节点负责任务分配和监控,Slave节点执行实际的计算任务。Peer-to-Peer模式主要特征是所有节点地位是平等的,相互之间分配和执行任务不会串行,各司其职。
·任务调度方式和策略
任务调度方式可以分为静态和动态,也就是不在运行中和运行中两类。
静态调度是在运行任务前完成调度过程,这种调度方式适用于任务类型和资源需求可预测的场景。
动态调度是在根据运行时的情况动态调整任务分配,这种方式适用于不确定性和变化性(即公司业务不确定 时大时小 这种就是动态调度的应用场景之一)
调度策略关键点在于负载均衡、资源利用、和响应时间。
其一要确保所有计算节点的工作负载均衡;其二,要通过优化资源分配,来提高资源的利用率;在通过快速分配任务,减少任务完成的等待时间。
·再来结合云服务器来谈谈分布式计算
由分布式计算延伸出来的云服务器具有弹性伸缩,按需付费以及高可用性等优势。上面所叙述的动态调度指的就是云服务器弹性伸缩,即根据需求动态调整资源,并按照实际使用量付费。再就是多地域部署的高可用性。
灵活性和驱动力是云服务器结合分布式计算得出的优势,通过不断优化任务调度策略和资源管理办法,可以更好提高分布式计算的性能和效率。