煮饺子和MESOS之间妙不可言的关系

Posted 小黑羊joinwings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了煮饺子和MESOS之间妙不可言的关系相关的知识,希望对你有一定的参考价值。


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




是这样煮吗?

煮饺子和MESOS之间妙不可言的关系

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


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

煮饺子和MESOS之间妙不可言的关系

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


其实

他们用了一种神器

煮饺子和MESOS之间妙不可言的关系


为什么会酱紫?


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


煮饺子和MESOS之间妙不可言的关系


煮饺子和MESOS之间妙不可言的关系



煮饺子和MESOS之间妙不可言的关系



这种情况下

不像我们自己在家吃饺子

不可能把所有的饺子放在一个锅里面煮

道理你懂的……


但是,难道要每个订单一个锅来煮?

太浪费资源了吧


所以就有人发明了这种支持“虚拟化”锅


煮饺子和MESOS之间妙不可言的关系


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

煮饺子和MESOS之间妙不可言的关系

水饺锅里面不同的格子执行不同的任务

格子并不绝对封闭,汤是互通的

这样

一锅就可以满足很多客人了


如果客人再多了怎么办?

多来几只饺子锅组成集群

煮饺子和MESOS之间妙不可言的关系


好强大的煮饺子集群

不管有多少客人

不管有多复杂的煮饺子组合

都可以在集群里面完成了

好拉轰啊


所有的格子都被池化

大厨根据点菜需求

灵活分配不同的格子来完成任务

任何一个格子都可以用来煮任何一种水饺


有同学问

客人还想吃煎饺或者蒸饺怎么办?

不要紧,更奇葩的锅已经有人发明了

煮饺子和MESOS之间妙不可言的关系

不光可以煮,同时还可以煎和蒸

尼玛,黑科技真发达


煮饺子集群”很牛逼

分配任务、具体操作的大厨更不简单


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


煮饺子和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具备问鼎数据中心资源管理首选平台的能力。





目前Twitter、Airbnb、eBay、Netflix包括Apple家的Siri,都用了Mesos来“煮饺子”。

国内豆瓣是最早用Mesos的,去哪儿网、爱奇艺、小米、360也都在尝试Mesos。


爱奇艺煮饺子大师傅杨成伟语:

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


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





最后欣赏一段煮饺子视频吧,有助于大家更好的理解Mesos,为了找到这段视频,小黑羊也是蛮拼的。




小黑羊吐槽


借用煮饺子的case只是希望大家更容易理解,但事实上煮饺子和Mesos有很多不能完全match的地方,这不是探讨的焦点,希望大家把饺子吃好,把Mesos用好。


最新的消息是:浙江移动已经开始在生产系统中尝试使用Mesos了>>


“双十一期间,浙江移动手机营业厅系统承受的并发数最高峰值接近6万次/秒,后台服务调用成功率均在99.95%以上,成为浙江移动首个在单日实现10亿级PV的业务系统。手机营业厅作为中国移动面向客户提供快速便捷的查询、办理和交费等自助服务的客户端软件及系统,扮演了此次双十一充值秒杀活动的主角,也是首个应用DCOS架构的生产系统。”


运营商的认可,让人不禁对Mesos在企业级市场的前景充满期望。

当然,Mesos也面对竞争,比如Hadoop的好闺蜜YARN,再比如最近势头很猛的kubernetes。


点击“查看原文”

可以下载《浙江移动Mesos实践》PPT


本文在撰写过程中参考了“Cloud Architect Musings”网站的相关文章,引用并修改了其中两张架构图,链接在这里:http://cloudarchitectmusings.com/2015/03/23/apache-mesos-the-true-os-for-the-software-defined-data-center/


以上为本期小黑羊黑技术的全部,下期再见。


以上是关于煮饺子和MESOS之间妙不可言的关系的主要内容,如果未能解决你的问题,请参考以下文章

大话云原生煮饺子与dockerkubernetes之间的关系

大话云原生负载均衡篇-小饭馆客流量变大了

煮饺子到底是掀盖盖煮皮还是盖上盖子煮皮?

大话云原生负载均衡篇-小饭馆客流量变大了

大话云原生微服务篇-五星级酒店的服务方式

大话云原生微服务篇-五星级酒店的服务方式