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