煮饺子与mesos之间妙不可言的关系
最后更新于:2022-04-01 21:49:33
* 这篇原文文章转载自:http://www.aiweibang.com/yuedu/69570354.html.
* 原文作者:小黑羊JoinWings
一直想写一篇介绍mesos的文章,文章可以不讲技术细节,但一定可以让一个外行一下子就明白什么是mesos.mesos能干什么.
很荣幸看到了,这样的一篇文章《煮饺子与mesos之间妙不可言的关系》,佩服的五体投地!此乃神人也!我觉得怎么样也不会比他写的更好了!
废话不多说!将原文奉上,原文网址是http://www.aiweibang.com/yuedu/69570354.html.
可惜不知道是因为什么,原文响应的速度非常慢.一字不改,原文转载!致敬小黑羊!
# 煮饺子与mesos之间妙不可言的关系
你知道大型的饺子馆是怎么煮饺子的吗?
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB1.png)
是这样煮吗?
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB2.png)
那你要让顾客喝西北风了!
难道是很多个这种锅一起煮吗?
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB3.png)
呵呵,不是,你想赔死吗?
其实
他们用了一种神器
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB4.png)
为什么会酱紫?
我们来分析一下大型饺子馆面对的需求
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB5.png)
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB6.png)
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB7.png)
这种情况下
不像我们自己在家吃饺子
不可能把所有的饺子放在一个大锅里面煮
道理你懂的……
但是,难道要每个订单一个锅来煮?
太浪费资源了吧
所以就有人发明了这种支持“虚拟化”锅
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB8.png)
我们把煮水饺看成不同的任务
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB9.png)
水饺锅里面不同的格子执行不同的任务
格子并不绝对封闭,汤是互通的
这样
一锅就可以满足很多客人了
如果客人再多了怎么办?
多来几只饺子锅组成集群!
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB10.png)
好强大的煮饺子集群
不管有多少客人
不管有多复杂的煮饺子组合
都可以在集群里面完成了
好拉轰啊
所有的格子都被池化
大厨根据点菜需求
灵活分配不同的格子来完成任务
任何一个格子都可以用来煮任何一种水饺
有同学问
客人还想吃煎饺或者蒸饺怎么办?
不要紧,更奇葩的锅已经有人发明了
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB11.png)
不光可以煮,同时还可以煎和蒸
尼玛,黑科技真发达
“煮饺子集群”很牛逼
分配任务、具体操作的大厨更不简单
观摩一下他们是如何工作的吧
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB12.gif)
好了,煮饺子的事情讲完了
这跟MESOS有毛线关系?
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB13.png)
Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。
小黑羊观点>>
Mesos跟我们前面介绍的“煮饺子”体系有异曲同工之妙。
↓
↓
数据中心有很多计算任务需要执行,比如Hadoop任务(饺子A)、MPI任务(饺子B)、Storm任务(饺子C)、Spark任务(饺子D)。
但是要想灵活的部署这些任务,达到呼之则来、挥之则去的效果,却没辣么简单。
人们都希望动态、灵活的利用数据中心的计算资源,更细粒度的分发任务,这就需要一套资源管理和调度框架来达到目的。
最早的时候,Google用自己开发的Borg来做这些事,可那是人家“私营饺子馆”专利,不可能随便拿来用的。
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB14.png)
后来,就有活雷锋开发了Mesos来做和Borg一样的事儿,而且还开源了。
↓
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB15.png)
一张图看懂Mesos和煮饺子的关系
Mesos的角色分工与两层调度体系:
* Mesos master相当于煮水饺的厨师长,当然有备份的副厨师长做替补(Standby master),他们之间的出勤制度由酒店老板负责监督(ZooKeeper)。
* Mesos slave驻留在每个饺子锅上(可认为是负责值守每个锅的厨工),负责具体任务分发。
* 具体的计算任务被按需分配在“锅集群”中执行,比如Hadoop、MPI、Spark等等,他们相当于不同的煮饺子需求。
* 每个“锅”提供一定的资源隔离能力,饺子锅用的是隔离网,Mesos方案目前比较流行采用Docker来进行隔离。
* 针对每种口味的饺子,都有点饺子、包饺子、煮饺子、上饺子的工作调度流程,被称为“Framework”,mesos为了可以适应各品种饺子的“FrameWork”流程
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB16.png)
饺子菜单——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(煮饺子师傅)下发任务,开工!
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB17.png)
MESOS的工作流程
这个“煮饺子”的Mesos系统什么好处呢?
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB18.png)
Mesos管理的是计算集群,调度的是任务,是当下最为流行的“数据中心操作系统”。它把集群资源池化,按需动态调配,提高资源使用效率和敏捷性,Mesos能让资源利用率提升5倍以上。
与容器技术结合,可以轻松部署海量计算资源和微服务,让上层业务的可伸缩性得到极大提高,Mesos可在数十秒内完成上万Docker容器部署。
模块化、插件式架构,轻松耦合多种Framework,这使得Mesos在其所支持的宽泛领域中,业务迅速增长。
专业人士认为,Mesos具备问鼎数据中心资源管理首选平台的能力。
![](http://7xqnvr.com1.z0.glb.clouddn.com/%E7%85%AE%E9%A5%BA%E5%AD%90%E4%B8%8Emesos%E4%B9%8B%E9%97%B4%E5%A6%99%E4%B8%8D%E5%8F%AF%E8%A8%80%E7%9A%84%E5%85%B3%E7%B3%BB19.png)
目前Twitter、Airbnb、eBay、Netflix包括Apple家的Siri,都用了Mesos来“煮饺子”。
国内豆瓣是最早用Mesos的,去哪儿网、爱奇艺、小米、360也都在尝试Mesos。
爱奇艺煮饺子大师傅杨成伟语:
“爱奇艺是国内互联网企业试用 Mesos 的先行者,最早将 Mesos 用于分布式转码服务,已经达到了800个节点。集群资源利用率已经高于40%,峰值时甚至超过了90%。”
而著名的创业公司Mesosphere是负责提供“煮饺子”解决方案的,跟他们类似的还有国内的初创公司数人科技。
';