摘要: Mesos为很多不同的用户场景都提供了精妙的,考虑周全的API。持久化卷是由新的acceptOffers API引入的特性。持久化卷让用户可以为Mesos构建数据库框架,Mesos可以在任何不可预见的故障和错误发生并且影响整个系统时,使数据持久化。本文选自《用Mesos框架构建分布式应用》。

  直到最近,Mesos都仅仅能够运行无须向磁盘存储数据的服务。这是因为没有方法预留所需的磁盘块。从Mesos 0.23版本开始,可以预留磁盘了。
  我们可以将Mesos当作一个部署系统。如果MySQL数据库能够自动将自身备份,并且按需创建新的副本,是不是很好呢?或者如果拥有一个简单的,自服务的REST API,能够创建新的Riak和Cassandra集群,又会怎么样呢?为Mesos构建数据库框架的工作从2014年就开始了。这些框架的问题是每个主机都必须创建特别的数据分区,并且在Mesos之外加以管理。使用持久化卷,类似Apache Cotton(MySQL所用)以及Cassandra和Riak Mesos框架的项目就都能够独立启动和维护了。
  在Mesos的设计里,磁盘空间是短暂的,并且是按任务隔离的。这通常是一件好事,除非用户想要持久地保存数据。要解决这个问题,Mesos引入了一个新的磁盘资源的子类型,称为volume。volume是分配给一个任务的磁盘块,并且挂载在特定位置。完成这一功能的API和挂载主机卷的Marathon API(详见“挂载主机卷”部分),几乎完全一致。用户甚至可以创建不持久的卷,这在想将多个独立磁盘暴露给Mesos时会很有用。
  下面研究一下如何创建并且使用持久化卷。
  有两个acceptOffers Operation用来创建以及销毁持久化卷。不出意外地,它们称为Create和Destroy。仅仅能够在已经被预留的磁盘资源上创建持久化卷。通常,用户会预留资源,创建卷,并且在单个acceptOffers里启动任务,如下面示例所示。
             图片描述
  持久化卷资源和常规磁盘资源一样,但是它带有字段disk,设置为合适的DiskInfo。DiskInfo给该持久化卷命名,这样它能够挂载上,名字为嵌套的字符串子字段persistence.id的名称。DiskInfo的Volume必须使用RW模式(因为Mesos 0.24只支持RW)。Volume的container_path字段会指定容器在任务沙箱里的挂载位置。
  持久化卷API是很新的功能,因此还没有任何生产环境框架用到它。它也有一些限制,比如卷必须一直挂载为RW,并且没有办法暴露多个磁盘,也没有任何磁盘或I/O隔离。即使添加了新特性和功能之后,也会保证该API的后向兼容性。因此,类似Apache Cotton的项目已经在其代码基里集成了持久化卷。
  本文选自《用Mesos框架构建分布式应用》,点此链接可在博文视点官网查看此书。
                     【图1】
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                        图片描述

posted @ 2017-03-02 11:35 博文视点(北京)官方博客 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 众所周知,Mesos全面支持Docker。但是这意味着什么呢?在命令行里运行docker run...就可以使用Docker了。还需要做什么?让我们一起研究下Mesos的高级特性——和Docker的集成。本文选自《用Mesos框架构建分布式应用》。 阅读全文
posted @ 2017-03-01 10:00 博文视点(北京)官方博客 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 引言:“架构”是前端开发中一直以来都缺少的。由于近几年Web应用日趋复杂,前端架构开始流行起来。成熟的工具使得开发人员可以针对要解决的问题设计出可扩展的架构。 构建可扩展的软件,可以从很多角度来思考软件架构。但是如果每个角度都去考虑,根本不可能做出想要的软件。这就是为什么需要从架构的角度对设计进行取舍:取我们最需要的,舍次要的。 本文选自《大型JavaScript应用最佳实践指南》。 阅读全文
posted @ 2017-02-28 16:41 博文视点(北京)官方博客 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 本文将会讨论如何协调公司内各个工程师团队之间的合作,从而高效地保持系统的弹性和灵活性,以满足敏捷开发的需求。本文选自《Node.js微服务》。 阅读全文
posted @ 2017-02-27 09:57 博文视点(北京)官方博客 阅读(312) 评论(0) 推荐(0) 编辑
摘要: AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩。AlphaGo背后神秘的推动力就是TensorFlow——Google于2015年11月开源的机器学习及深度学习框架。 TensorFlow在2015年年底一出现就受到了极大的关注,在一个月内获得了GitHub上超过一万颗星的关注,目前在所有的机器学习、深度学习项目中排名第一,甚至在所有的Python项目中也排名第一。本文将带我们简单了解下TensorFlow,并与其他主流深度学习框架进行了对比。 本文选自《TensorFlow实战》。 阅读全文
posted @ 2017-02-24 10:57 博文视点(北京)官方博客 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 什么样的呼应设计会让移动游戏玩家沉迷?那必须为玩家构建一个属于玩家本人或者被玩家认可的虚拟环境,或者说是被玩家认可的虚拟世界。在移动游戏时代,想要做到这一点并不容易。但Pokémon Go却做到了,它让全世界玩家为其疯狂,那它是如何做到这一点的呢? 本文选自《产品为王:移动游戏产品设计规则》。 阅读全文
posted @ 2017-02-23 09:42 博文视点(北京)官方博客 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 本文作者Ben Treynor Sloss,Google 运维团队的高级副总裁,SRE 名称的发明者,在这里提供了他对SRE 的定义。 本文选自《SRE:Google运维解密》。 阅读全文
posted @ 2017-02-22 14:55 博文视点(北京)官方博客 阅读(438) 评论(0) 推荐(0) 编辑
摘要: Druid作为一款开源的实时大数据分析软件,最近几年快速风靡全球互联网公司,特别是对于海量数据和实时性要求高的场景。如果你对Druid还很陌生,那赶紧跟着本文快速了解一下吧。 相关图书《Druid实时大数据分析原理与实践》。 阅读全文
posted @ 2017-02-21 13:20 博文视点(北京)官方博客 阅读(44042) 评论(1) 推荐(2) 编辑
摘要: JavaScript 应用变得越来越庞大。这是因为使用JavaScript能做的事情远比我们大多数人所需求的要多得多。我们不能仅因为技术上可行,就去考虑软件系统的扩展问题。为一个不需要扩展的系统增加扩展性是不值得的,尤其对最终用户来说,这只会使系统显得更加笨重。 本文选自《大型JavaScript应用最佳实践指南》。 阅读全文
posted @ 2017-02-20 17:08 博文视点(北京)官方博客 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 对于一个能够蕴藏巨大信息量的游戏产品而言,多为玩家准备一些惊喜的心态,是不会有错的。很多的案例和事实也证明,惊喜会给游戏带来很多产品设计师意想不到的收获,但如果惊喜运用得不好往往会编程惊吓,甚至还会给产品带来可怕的负面效果。 相关图书《产品为王:移动游戏产品设计规则》。 阅读全文
posted @ 2017-02-17 16:43 博文视点(北京)官方博客 阅读(197) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示