* 這篇原文文章轉載自: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是負責提供“煮餃子”解決方案的,跟他們類似的還有國內的初創公司數人科技。
- 版權
- 博客主題
- 如何不去做運行3.5G-docker鏡像的工程師
- 預備主題
- FastDFS快速入門
- mysql定時創建月表
- SpringMVC-Restful
- Docker生態系統
- The Docker Ecosystem: An Introduction to Common Components
- docker監控指標
- 基于etcd服務發現的overlay跨多宿主機容器網絡
- etcd:從應用場景到實現原理的全方位解讀
- docker存儲驅動詳解
- 使用docker/engine-api操作docker
- 提升Docker安全性
- docker安全之用戶資源隔離
- marathon
- 開始
- 安裝mararhon
- 高可用模式
- 使用marathon
- 應用的部署
- 架構組件
- Dubbo與Zookeeper、SpringMVC整合和使用(負載均衡、容錯)
- Openstack架構解析
- haproxy
- Ubuntu系統安裝截圖
- mesos官方文檔
- 關于譯者
- mesos基礎
- Mesos架構
- 視頻與ppt
- 讓mesos跑起來
- 快速入門
- 配置
- Containerizer
- Docker Containerizer
- 監控
- 博客文章集
- 煮餃子與mesos之間妙不可言的關系
- linux運維
- 基礎篇
- 進階篇
- mysql
- Ubuntu14.04安裝mysql5.6
- MySQL 5.6 replicate原理與實踐
- mysql性能
- redis
- redis安裝及基礎知識
- redis數據結構
- redis命令
- redis數據持久化
- Redis主從復制
- redis集群
- 其他