一直想写一篇介绍mesos的文章,文章可以不讲技术细节,但一定可以让一个外行一下子就明白什么是mesos.mesos能干什么. 很荣幸看到了,这样的一篇文章《煮饺子与mesos之间妙不可言的关系》,佩服的五体投地!此乃神人也!我觉得怎么样也不会比他写的更好了! 废话不多说!将原文奉上,原文网址是http://www.aiweibang.com/yuedu/69570354.html. 可惜不知道是因为什么,原文响应的速度非常慢.一字不改,原文转载!致敬小黑羊!
欢迎加入QQ技术交流群:300139299
你知道大型的饺子馆是怎么煮饺子的吗?
是这样煮吗? ↓
那你要让顾客喝西北风了!
难道是很多个这种锅一起煮吗? ↓
呵呵,不是,你想赔死吗?
其实 他们用了一种神器 ↓
为什么会酱紫?
我们来分析一下大型饺子馆面对的需求 ↓
这种情况下 不像我们自己在家吃饺子 不可能把所有的饺子放在一个大锅里面煮 道理你懂的……
但是,难道要每个订单一个锅来煮? 太浪费资源了吧
所以就有人发明了这种支持“虚拟化”锅
我们把煮水饺看成不同的任务 ↓
水饺锅里面不同的格子执行不同的任务 格子并不绝对封闭,汤是互通的 这样 一锅就可以满足很多客人了
如果客人再多了怎么办? 多来几只饺子锅组成集群! ↓
好强大的煮饺子集群 不管有多少客人 不管有多复杂的煮饺子组合 都可以在集群里面完成了 好拉轰啊
所有的格子都被池化 大厨根据点菜需求 灵活分配不同的格子来完成任务 任何一个格子都可以用来煮任何一种水饺
有同学问 客人还想吃煎饺或者蒸饺怎么办? 不要紧,更奇葩的锅已经有人发明了 ↓
不光可以煮,同时还可以煎和蒸 尼玛,黑科技真发达
“煮饺子集群”很牛逼 分配任务、具体操作的大厨更不简单
观摩一下他们是如何工作的吧 ↓
好了,煮饺子的事情讲完了 这跟MESOS有毛线关系? ↓
Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。
小黑羊观点>> Mesos跟我们前面介绍的“煮饺子”体系有异曲同工之妙。 ↓ ↓ 数据中心有很多计算任务需要执行,比如Hadoop任务(饺子A)、MPI任务(饺子B)、Storm任务(饺子C)、Spark任务(饺子D)。 但是要想灵活的部署这些任务,达到呼之则来、挥之则去的效果,却没辣么简单。 人们都希望动态、灵活的利用数据中心的计算资源,更细粒度的分发任务,这就需要一套资源管理和调度框架来达到目的。
最早的时候,Google用自己开发的Borg来做这些事,可那是人家“私营饺子馆”专利,不可能随便拿来用的。
后来,就有活雷锋开发了Mesos来做和Borg一样的事儿,而且还开源了。 ↓
一张图看懂Mesos和煮饺子的关系
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能让资源利用率提升5倍以上。
与容器技术结合,可以轻松部署海量计算资源和微服务,让上层业务的可伸缩性得到极大提高,Mesos可在数十秒内完成上万Docker容器部署。
模块化、插件式架构,轻松耦合多种Framework,这使得Mesos在其所支持的宽泛领域中,业务迅速增长。
专业人士认为,Mesos具备问鼎数据中心资源管理首选平台的能力。
目前Twitter、Airbnb、eBay、Netflix包括Apple家的Siri,都用了Mesos来“煮饺子”。 国内豆瓣是最早用Mesos的,去哪儿网、爱奇艺、小米、360也都在尝试Mesos。
爱奇艺煮饺子大师傅杨成伟语: “爱奇艺是国内互联网企业试用 Mesos 的先行者,最早将 Mesos 用于分布式转码服务,已经达到了800个节点。集群资源利用率已经高于40%,峰值时甚至超过了90%。”
而著名的创业公司Mesosphere是负责提供“煮饺子”解决方案的,跟他们类似的还有国内的初创公司数人科技。