发布时间:2023-02-11 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

集中式结构

什么是集中式结构?

集中式结构就是由一台或多台服务器组成的中央服务器,系统内的所有数据都存储在中央服务器中,系统内所有的业务都先由中央服务器处理。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度:中央服务器根据这些信息,将任务下达给节点服务器;节点服务器并行任务,并将结果反馈给中央服务器。

集中式结构最大的特点,就是部署结构简单。

本文会描述下面3种经典的集中式结构:

Google Borg

Borg是Google内部使用的集群管理系统,采用了典型的集中式结构。在Borg中一个集群被称为一个Cell,每个Cell里面有一个Leader,称为BorgMaster,还有一系列的节点,称为Borglet。

BorgMaster包含两个进程:

Borglet是运行在每个节点机器上的agent,负责任务的拉起、停止、重启等,并管理和收集本服务器资源,将任务的状态、服务器状态等信息上报给BorgMaster,而BorgMaster会周期性的轮询每个Borglet,以获取节点服务器的状态和资源信息等。

Borg可以运行各种各样的任务,这些任务分为两类:

  1. 长服务:长时间运行不停止的服务,并且要求能够处理短暂的、延迟敏感的请求。
  2. 批处理任务:通常需要几秒到几天的时间来完成的批处理Job。

Borg的三个优点:

  1. 开发者只需要关注应用,不需要关注底层资源管理。
  2. 高可靠性和可用性,支持多种应用。
  3. 支持上千服务器的管理和运行。

Kubernetes

Kubernetes也是典型的集中式结构,它主要由Master节点和Slave节点组成,以及客户端命令行工具kubectl和其他附加项。

Master节点运行在中心服务器上,它由API Server、Scheduler、Cluster State Store和Control Manager Server组成:
Worker节点是真正的工作节点,运行在从节点服务器,包括kubelet和kube-proxy核心组件,负责运行业务应用的容器。

Kubernetes在容器管理方面的优势:

Mesos

在Mesos中,一个集群包括Mesos Master和多个Mesos Agent。

Mesos Master负责收集和管理所有Agent所在服务器的资源和状态,并且对接Spark、Hadoop等框架,将集群中服务器的资源告知给这些框架,以便这些框架进行任务资源匹配和调度。

Mesos Agent复杂任务的拉起、停止、重启等,负责收集所在服务器的资源信息和状态,并上报给Mesos Master。

Mesos的优势在于: