三百行python代码的项目_使用300行代码创建一个分布式系统
使用
300
行代碼創(chuàng)建一個(gè)分布式系統(tǒng)
構(gòu)建一個(gè)分布式系統(tǒng)是很困難的。
它需要可擴(kuò)展性、
容錯(cuò)性、
高可用性、
一致性、
可伸縮以及高效。為了達(dá)到這些目的,分布式系統(tǒng)需要很多復(fù)雜的組件以一
種
復(fù)雜的方式協(xié)同工作。例如,
Apache
Hadoop
在大型集群上并行處理
TB
級(jí)別的
數(shù)據(jù)集時(shí),需要依賴有著高容錯(cuò)的文件系統(tǒng)(
HDFS
)來(lái)達(dá)到高吞
吐量。
在之前,每一個(gè)新的分布式系統(tǒng),例如
Hadoop
和
Cassandra
,都需要構(gòu)建自己
的底層架構(gòu),包括消息處理、存儲(chǔ)、網(wǎng)絡(luò)、容錯(cuò)性和可伸縮性。
慶幸的是,像
Apache
Mesos
這樣的系統(tǒng),
通過(guò)給分布式系統(tǒng)的關(guān)鍵構(gòu)建模塊提供類似操作系
統(tǒng)的管理服務(wù),
簡(jiǎn)化了構(gòu)建和管理分布式系統(tǒng)的任務(wù)。
Mesos
抽離了
CPU
、
存儲(chǔ)
和其它計(jì)算資源,
因此開發(fā)者開發(fā)分布式應(yīng)用程序時(shí)能夠?qū)⒄麄€(gè)數(shù)據(jù)中心集群當(dāng)
做一臺(tái)巨型機(jī)對(duì)待。
構(gòu)建在
Mesos
上的應(yīng)用程序被稱為框架,
它們能解決很多問(wèn)題:
Apache
Spark
,
一種流行的集群式數(shù)據(jù)分析工具;
Chronos
,一個(gè)類
似
cron
的具有容錯(cuò)性的分
布式
scheduler
,這是兩個(gè)構(gòu)建在
Mesos
上的框架的例子。構(gòu)建框架可以使用多
種語(yǔ)言,包括
C++
,
Go
,
Python
,
Java
,
Haskell
和
Scala
。
在分布式系統(tǒng)用例上,比特幣開采就是一個(gè)很好的例子。比特幣將為生
成
acceptable
hash
的挑戰(zhàn)轉(zhuǎn)為驗(yàn)證一塊事務(wù)的可靠性。
可能需要
幾十年,
單臺(tái)筆記本電腦挖一塊可能需要花費(fèi)超過(guò)
150
年。結(jié)果是,有許多的“采礦池”
允許采礦者將他們的計(jì)算資源聯(lián)合起來(lái)以加快挖礦速度。
Mesosphere
的一個(gè)實(shí)
習(xí)生,
Derek
,
寫了一個(gè)
比特幣開采框架
,
利用集群資源的優(yōu)勢(shì)來(lái)做同樣的事情。
在接下來(lái)的內(nèi)容中,會(huì)以他的代碼為例。
1
個(gè)
Mesos
框架有
1
個(gè)
scheduler
和
1
個(gè)
executor
組成。
scheduler
和
Mesos
master
通信并決定運(yùn)行什么任
務(wù),而
executor
運(yùn)行在
slaves
上面,
執(zhí)行實(shí)際任務(wù)。大多數(shù)的框架實(shí)現(xiàn)了自己的
scheduler
,并使用
1
個(gè)由
Mesos
提
供的標(biāo)準(zhǔn)
executors
。當(dāng)然,框架也可以自己定制
executor
總結(jié)
以上是生活随笔為你收集整理的三百行python代码的项目_使用300行代码创建一个分布式系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 海蛎是什么?
- 下一篇: 维吾尔族叫牛腩肉叫什么肉