博主自主知识产权《springboot深入浅出系列课程》(16章97节文档免费) 已经上线,请关注

煮饺子与mesos之间妙不可言的关系

mesos资源管理 字母哥 4815℃ 0评论
  • 这篇原文文章转载自:http://www.aiweibang.com/yuedu/69570354.html.
  • 原文作者:小黑羊JoinWings

一直想写一篇介绍mesos的文章,文章可以不讲技术细节,但一定可以让一个外行一下子就明白什么是mesos.mesos能干什么.
很荣幸看到了,这样的一篇文章《煮饺子与mesos之间妙不可言的关系》,佩服的五体投地!此乃神人也!我觉得怎么样也不会比他写的更好了!
废话不多说!将原文奉上,原文网址是http://www.aiweibang.com/yuedu/69570354.html.
可惜不知道是因为什么,原文响应的速度非常慢.一字不改,原文转载!致敬小黑羊!

向您推荐

Dcoker入门与实践系列文章

欢迎加入QQ技术交流群:300139299

煮饺子与mesos之间妙不可言的关系

你知道大型的饺子馆是怎么煮饺子的吗?
老边饺子

是这样煮吗?

煮饺子-mesos

那你要让顾客喝西北风了!

难道是很多个这种锅一起煮吗?

煮饺子-mesos多个锅

呵呵,不是,你想赔死吗?

其实
他们用了一种神器

煮饺子-mesos神器

为什么会酱紫?

我们来分析一下大型饺子馆面对的需求

煮饺子-mesos需求分析1
煮饺子-mesos需求分析2
煮饺子-mesos需求分析3

这种情况下
不像我们自己在家吃饺子
不可能把所有的饺子放在一个大锅里面煮
道理你懂的……

但是,难道要每个订单一个锅来煮?
太浪费资源了吧

所以就有人发明了这种支持“虚拟化”锅
煮饺子-mesos虚拟化神器

我们把煮水饺看成不同的任务

煮饺子-mesos任务分类

水饺锅里面不同的格子执行不同的任务
格子并不绝对封闭,汤是互通的
这样
一锅就可以满足很多客人了

如果客人再多了怎么办?
多来几只饺子锅组成集群!

煮饺子-mesos集群

好强大的煮饺子集群
不管有多少客人
不管有多复杂的煮饺子组合
都可以在集群里面完成了
好拉轰啊

所有的格子都被池化
大厨根据点菜需求
灵活分配不同的格子来完成任务
任何一个格子都可以用来煮任何一种水饺

有同学问
客人还想吃煎饺或者蒸饺怎么办?
不要紧,更奇葩的锅已经有人发明了

煮饺子-mesos神器2

不光可以煮,同时还可以煎和蒸
尼玛,黑科技真发达

“煮饺子集群”很牛逼
分配任务、具体操作的大厨更不简单

观摩一下他们是如何工作的吧

煮饺子-mesos工作

好了,煮饺子的事情讲完了
这跟MESOS有毛线关系?

煮饺子-mesos图

Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。

小黑羊观点>>
Mesos跟我们前面介绍的“煮饺子”体系有异曲同工之妙。


数据中心有很多计算任务需要执行,比如Hadoop任务(饺子A)、MPI任务(饺子B)、Storm任务(饺子C)、Spark任务(饺子D)。
但是要想灵活的部署这些任务,达到呼之则来、挥之则去的效果,却没辣么简单。
人们都希望动态、灵活的利用数据中心的计算资源,更细粒度的分发任务,这就需要一套资源管理和调度框架来达到目的。

最早的时候,Google用自己开发的Borg来做这些事,可那是人家“私营饺子馆”专利,不可能随便拿来用的。
煮饺子-mesos雷锋

后来,就有活雷锋开发了Mesos来做和Borg一样的事儿,而且还开源了。

煮饺子-mesos图解

一张图看懂Mesos和煮饺子的关系

Mesos的角色分工与两层调度体系:

  • Mesos master相当于煮水饺的厨师长,当然有备份的副厨师长做替补(Standby master),他们之间的出勤制度由酒店老板负责监督(ZooKeeper)。
  • Mesos slave驻留在每个饺子锅上(可认为是负责值守每个锅的厨工),负责具体任务分发。
  • 具体的计算任务被按需分配在“锅集群”中执行,比如Hadoop、MPI、Spark等等,他们相当于不同的煮饺子需求。
  • 每个“锅”提供一定的资源隔离能力,饺子锅用的是隔离网,Mesos方案目前比较流行采用Docker来进行隔离。
  • 针对每种口味的饺子,都有点饺子、包饺子、煮饺子、上饺子的工作调度流程,被称为“Framework”,mesos为了可以适应各品种饺子的“FrameWork”流程

煮饺子-mesos菜单

饺子菜单——Mesos可以配合调用的“FrameWork”

MESOS的“煮饺子”任务调度过程:

① Slave 1(煮饺子师傅)向Master(厨师长)汇报其管理的饺子锅的空闲资源:4个CPU、4GB内存。

② Master(厨师长)检查Framework1(猪肉韭菜)目前的订单需求。

③ Framework1(猪肉韭菜)的当前订单需求是:煮两份饺子,分别是4两和3两,4两的需要用<2 CPUs, 1 GB RAM>的资源,3两的需要用<1 CPUs, 2 GB RAM>资源。

④ 最后,Master(厨师长)向Slave(煮饺子师傅)下发任务,开工!

煮饺子-mesos工作流程

MESOS的工作流程

这个“煮饺子”的Mesos系统什么好处呢?
煮饺子-mesos好处

Mesos管理的是计算集群,调度的是任务,是当下最为流行的“数据中心操作系统”。它把集群资源池化,按需动态调配,提高资源使用效率和敏捷性,Mesos能让资源利用率提升5倍以上。

与容器技术结合,可以轻松部署海量计算资源和微服务,让上层业务的可伸缩性得到极大提高,Mesos可在数十秒内完成上万Docker容器部署。

模块化、插件式架构,轻松耦合多种Framework,这使得Mesos在其所支持的宽泛领域中,业务迅速增长。

专业人士认为,Mesos具备问鼎数据中心资源管理首选平台的能力。
煮饺子-mesos业内生态

目前Twitter、Airbnb、eBay、Netflix包括Apple家的Siri,都用了Mesos来“煮饺子”。
国内豆瓣是最早用Mesos的,去哪儿网、爱奇艺、小米、360也都在尝试Mesos。

爱奇艺煮饺子大师傅杨成伟语:
“爱奇艺是国内互联网企业试用 Mesos 的先行者,最早将 Mesos 用于分布式转码服务,已经达到了800个节点。集群资源利用率已经高于40%,峰值时甚至超过了90%。”

而著名的创业公司Mesosphere是负责提供“煮饺子”解决方案的,跟他们类似的还有国内的初创公司数人科技。

向您推荐

Dcoker入门与实践系列文章

欢迎加入QQ技术交流群:300139299

转载请注明:字母哥博客 » 煮饺子与mesos之间妙不可言的关系

喜欢 (740)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 我家的炸酱面就是这种套路来煮面的。多个筛筒装面,一次可以祝5、6碗呢 :mrgreen:
    匿名2016-06-08 15:27 回复
    • 那也算是高大上啦!
      字母哥2016-06-08 16:56 回复
  2. 哈哈,很有意思
    匿名2016-06-09 21:22 回复