使用

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行代码创建一个分布式系统相关推荐

  1. iar怎么新建立项目_请简述IAR中创建一个应用项目的步骤及配置过程。

    [多选题]公路工程中应用的石灰要求达到( ). [多选题]在石灰工业废渣稳定土施工前,取有代表性石灰样品进行下列试验( ). [单选题]在沥青混合料中掺加适量消石灰粉,可以有效提高沥青混合料的( ). ...

  2. 【electron】如何快速进行electron项目开发(包含了各种创建一个electron项目的方法)

    文章目录 导读 开发环境 各种electron项目初始化方案 create-electron(推荐) 功能特征 安装 vue-cli + electron-vue 使用说明 fork的优质代码 克隆g ...

  3. 【前端实例代码】如何使用 HTML 和 CSS 快速创建一个响应式导航栏

    效果图: 大屏: 小屏: bilibili在线视频演示地址: [前端实例代码]如何使用 HTML 和 CSS 快速创建一个响应式导航栏nav_哔哩哔哩_bilibili完整代码在这里:https:// ...

  4. python一百行代码多少钱_用86行Python代码模拟太阳系

    Python代码模拟的太阳系,包括了水星(Mercury), 金星(Venus),地球(Earth),月球(Moon),火星(Mars) 上面的动画是我用86行Python代码模拟的一个比较真实的太阳 ...

  5. python代码修复神器_一键 fxxk,代码修复神器拯救你

    原标题:一键 fxxk,代码修复神器拯救你 作者 | 一一 出品 | AI科技大本营(ID: rgznai100) 在成为一个合格的开发者之前,大多数人一般都经历过被命令行反复"fuck&q ...

  6. python星空画法教程_对比几段代码,看看你是 Python 菜鸟还是老鸟

    Python 里有个小彩蛋: 在 Python Shell 里输入 import this 这段话被称作"Python 之禅"(The Zen of Python),它列举了一些 ...

  7. python怎么做项目_听说你没有python项目可做,我教你个方法

    原标题:听说你没有python项目可做,我教你个方法 学习了一段时间的Python,最近出现了"饥荒",感觉需要多看些代码,多学习学习别人做些什么,但却不知道做点什么来进行练习. ...

  8. python打包flask 项目_使用pyinstaller将flask应用打包

    Pyinstaller 用户将python程序打包成各个平台可直接运行的程序,也可以算作是对代码加密的一种方式.pyinstaller的安装及使用方式请参考官网. 注:该文章的系统环境是ubuntu ...

  9. python风控建模项目_像潘叔叔那样用半年时间学Python,有哪些书值得看?

    去年11月,SOHO中国董事长潘石屹先生发微博宣布,要开始学习Python,"这也是今天给自己人生的礼物".于是圈子里便有了"百亿身家中年男子告别房地产转行学Python ...

最新文章

  1. 伊利和蒙牛之间恩怨情仇
  2. 38. Leetcode 101. 对称二叉树 (二叉树-二叉树性质)
  3. 【收藏】电气设计相关计算公式大全(附举例)
  4. 事务、事件(文件、时间、调度和执行)、复制、分片(范围、哈希)、简单的论坛系统分析
  5. factorybean与beanfactory
  6. CentOS7 防火墙关闭
  7. Struts2 注解模式
  8. Chapter 1 First Sight——13
  9. CodeVS 1014 装箱问题(DP)
  10. 【印刷字符识别】基于matlab OCR印刷字母+数字识别【含Matlab源码 287期】
  11. 华为笔试题分享:分糖果
  12. python库手册_Python 中文开发手册
  13. 代码智能:问题与解法
  14. html文本框怎么写表情,HTML实现输入框内插入QQ表情
  15. 51la V6蜘蛛统计功能上新
  16. 百度统计热力图邀请码
  17. java中加号_java中加号+的作用
  18. 如果把编程语言比作武器
  19. Java笔试/面试题
  20. ctypes调用海康威视人脸抓拍机并将抓拍的人脸上传到指定地址

热门文章

  1. centos7 minimal运行vue项目npm run serve时报错:Error: spawn xdg-open ENOENT --解决办法:yum install xdg-utils
  2. 【工具收藏】golang 开发工具包,json、sql 转 struct
  3. 解决 Ubuntu 18.04 无法关机的问题
  4. deepin linux深度ISO镜像下载地址
  5. python2/python3安装pip/pip3及使用国内镜像源(python2/3同时安装)
  6. K8S集群部署-环境准备
  7. 【辟谣】java中的final方法在新版的jvm中能提高效率?
  8. 【客户下单】前端系统Action数据封装
  9. 不小心关闭了explorer.exe进程,桌面变白解决办法
  10. elementui :on-remove怎么用_Vue + Vuex + Element UI实现动态全局主题颜色