分布式计算法(《分布式技术原理与算法解析》学习笔记Day08)
集中式结构
什么是集中式结构?
集中式结构就是由一台或多台服务器组成的中央服务器 ,系统内的所有数据都存储在中央服务器中 ,系统内所有的业务都先由中央服务器处理 。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器 ,由中央服务器统一进行资源和任务调度:中央服务器根据这些信息 ,将任务下达给节点服务器;节点服务器并行任务 ,并将结果反馈给中央服务器 。
集中式结构最大的特点 ,就是部署结构简单 。
本文会描述下面3种经典的集中式结构:
Google Borg Kubernetes MesosGoogle Borg
Borg是Google内部使用的集群管理系统 ,采用了典型的集中式结构 。在Borg中一个集群被称为一个Cell ,每个Cell里面有一个Leader ,称为BorgMaster ,还有一系列的节点 ,称为Borglet 。
BorgMaster包含两个进程:
主进程:处理客户端的RPC请求,同时管理系统中所有实体的状态 ,并负责和Borglet通信 。 scheduler:负责任务调度 ,通过任务对资源的需求以及当前Borglet所在服务器的资源情况进行匹配,为任务寻找一个合适的节点服务器执行 。Borglet是运行在每个节点机器上的agent ,负责任务的拉起 、停止 、重启等 ,并管理和收集本服务器资源,将任务的状态、服务器状态等信息上报给BorgMaster ,而BorgMaster会周期性的轮询每个Borglet ,以获取节点服务器的状态和资源信息等 。
Borg可以运行各种各样的任务 ,这些任务分为两类:
长服务:长时间运行不停止的服务 ,并且要求能够处理短暂的 、延迟敏感的请求 。 批处理任务:通常需要几秒到几天的时间来完成的批处理Job。Borg的三个优点:
开发者只需要关注应用 ,不需要关注底层资源管理 。 高可靠性和可用性 ,支持多种应用 。 支持上千服务器的管理和运行。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的优势在于:
效率 可扩展性 模块化创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!