一个开发的Docker之路初识Mesos

Posted 万方技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个开发的Docker之路初识Mesos相关的知识,希望对你有一定的参考价值。

        随着微服务的出现,过去庞大的项目在逐渐被拆分成了越来越多的应用,随着微服务的增加,服务的管理变得越来越复杂,但是我们作为一群聪明人聚集的群体,怎么可能由自己来完成这些事情呢,于是Mesos出现了。Mesos早年是伯克利大学的研究项目,后来被Benjamin引入Twiiter公司,现如今Mesos已经管理着Twiiter超过30万的服务器上的应用部署,而且也有很多大公司相继引入了Mesos。

        下面这段话来自Mesos的官网

        我用我的蹩脚英语给大家翻译一下,大概就是Mesos总是会从物理机或者虚拟机中抽象出CPU,内存,硬盘和其他计算机资源,让具有容错和弹性计算的分布式系统更容易被构建和运行。

        

         这张图描述了Mesos的两级调度,首先是第一级调度,由Mesos master调度Mesos slave,Mesos master 是由zookeeper的选举产生的,它管理着每一个Mesos slave,Mesos slave上存放着具体的作业,例如Hadoop作业,MPI作业,每一个slave在启动的时候都会注册到master上。

        第二级调度是由一个被称作Framework的组件组成,Framework包含调度器(scheduler)和执行器(executor),上面的虚线部分是调度器,Mesos可以和多种调度器协调工作,不用的应用程序有不同的调度器。下面的虚线部分是执行器,执行器运行在Mesos slave中,由Mesos slave进行调度。

        这张图片描述了一个具体的任务调度流程。

        第一步,slave1(Agent1)向master节点汇报可用资源(4个cpu,4G内存)

        第二步,master节点向调度器发送slave1上的可用资源(4个cpu,4G内存)

        第三步,调度器通知master节点,要想向slave1上下发两个任务,task1消耗2个cpu、1G内存,task2消耗1个cpu、2G内存

        第四步,master节点将任务下发给slave1节点,slave1上的执行器执行任务

以上是关于一个开发的Docker之路初识Mesos的主要内容,如果未能解决你的问题,请参考以下文章

Yelp是如何利用Mesos和Docker搭建混合云的?

大规模Mesos&Docker在去哪儿网的最佳实践

去哪儿网利用Mesos和Docker构建dev—beta环境

容器,云和代码:Yelp如何使用Mesos和Docker构建混合云?

Mesos实践完全手册:去哪儿网的运用

Python之路:初识