• 这篇原文文章转载自:http://www.aiweibang.com/yuedu/69570354.html.
  • 原文作者:小黑羊JoinWings

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

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

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

是这样煮吗?

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

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

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

其实
他们用了一种神器

为什么会酱紫?

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

饺子菜单——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是负责提供“煮饺子”解决方案的,跟他们类似的还有国内的初创公司数人科技。

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

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

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

    摘要: 你知道大型的饺子馆是怎么煮饺子的吗?是这样煮吗?↓那你要让顾客喝西北风了!难道是很多个这种锅一起煮吗?↓呵呵,不是,你想赔死吗?其实他们用了一种神器↓为什么会酱紫?我们来分析一下大型饺子馆面对 ...

  2. 【大话云原生】煮饺子与docker、kubernetes之间的关系

    云原生的概念最近非常火爆,企业落地云原生的愿望也越发强烈.看过很多关于云原生的文章,要么云山雾罩,要么曲高和寡. 所以笔者就有了写<大话云原生>系列文章的想法,期望用最通俗.简单的语言说明 ...

  3. python中使用缩进来体现代码之间的逻辑关系_Python使用缩进来体现代码之间的逻辑关系....

    Python使用缩进来体现代码之间的逻辑关系. 答:对 相关系数等于零表明两变量 ( ) 答:不存在线性相关关系 : PEST模型分析中,P代表什么意思() 答:政治 生命伦理秩序的发生与演变,具有极 ...

  4. SAP库存表之间的逻辑关系

    SAP库存表之间的逻辑关系 转载于SAP学习门户网,原文链接: http://www.sap6.com/learn/mm/073504302015/3370.html 当前库存: 一般保存在 MARD ...

  5. 判断类之间的父子关系

    如何判断两个类之间的父子关系? java为我们提供了instanceof运算符,可以用来判断一个对象是否是否个类的实例,所以很容易的想到子类的对象肯定是父类的实例.但是如何所涉及到的类是不可实例化的该 ...

  6. 1. vi 与 vim 有什么区别呢,它们之间有什么关系?

    1. vi 与 vim 有什么区别呢,它们之间有什么关系? 答:简单的讲,vi编辑器是UNIX早期自带的文本编辑器,更能简单,不支持语法颜色:vim编辑器是在vi的基础上改进的版本,比vi功能更强大, ...

  7. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  8. R语言ggplot2可视化散点图、并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线

    R语言ggplot2可视化散点图.并使用geom_encircle函数自定义多边形圈定可视化图像中的指定区域(Scatterplot With Encircling).使用geom_smooth函数基 ...

  9. 框架、文档、视图类之间的调用关系

    在多文档MFC应用程序执行过程中,创建了多于一个的文档类.视图类.子框架类对象和一个主框架类.应用类对象.这些对象之间是通过一定的方式联系在一起的,在应用程序设计中,时常需要通过这些对象之间的关系来实 ...

最新文章

  1. python正确方法,方法 - 廖雪峰的官方网站
  2. vue.js与ajax删除,javascript - VueJs和VueResource,从Ajax请求中删除标头字段 - 堆栈内存溢出...
  3. Oracle优化05-执行计划
  4. c++中判断某个值在字典的value中_Python核心知识系列:字典
  5. hibernate jpa_JPA / Hibernate:基于版本的乐观并发控制
  6. cesium获取模型实时坐标_Cesium 顶点着色器中求解模型坐标
  7. 机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系
  8. python依赖注入_什么是依赖注入?
  9. 网刻工具大全:四款软件优缺评析(转)
  10. mindoc制作思维导图
  11. 关于绿色校园建设中综合能效平台的管理效益与研究
  12. 关于ios的ipa包的分析之link map 文件的分析
  13. Exploratory Data Analysis可视化分析美国天气
  14. codevs 1024 一塔湖图 floyd 解题报告
  15. CSS3.0(过渡、动画、弹性盒、响应式)总结(2)
  16. LINUX IIO子系统分析之七 虚拟iio device驱动实现
  17. java国际化程序_Java 国际化标准程序实现
  18. 简显易懂的TCP网络通信零起步(java网络画板,山寨腾讯会议)
  19. opencv 文字分割
  20. 苹果手机照片流使用方法(iphone我的照片流在哪)

热门文章

  1. 女生学化工工艺好和计算机,哪些艺术型专业适合理科女生报考
  2. offsetParenthaslayout
  3. BGD线性回归(批量梯度下降算法)实例
  4. 荡神志-流程攻略(三)
  5. Python爬虫——列表信息写入到csv文件
  6. CSS: CSS常用的文本样式属性
  7. Redis学习(自用)
  8. 用Python实现ModbusTcp协议
  9. Git 导出 stash 备份为 patch 文件
  10. Android8.0 ZenMode 静音模式