《分布式技术原理与算法解析》学习笔记Day08

集中式结构

什么是集中式结构?

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

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

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

  • Google Borg
  • Kubernetes
  • Mesos

Google Borg

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

BorgMaster包含两个进程:

  • 主进程:处理客户端的RPC请求,同时管理系统中所有实体的状态,并负责和Borglet通信。
  • scheduler:负责任务调度,通过任务对资源的需求以及当前Borglet所在服务器的资源情况进行匹配,为任务寻找一个合适的节点服务器执行。

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的优势在于:

  • 效率
  • 可扩展性
  • 模块化
posted @ 2023-02-11 20:11  李潘  阅读(43)  评论(0编辑  收藏  举报