摘要: 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框架构建分布式应用》,点此链接可在博文视点官网查看此书。
                     
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                        

Mesos:数据库使用的持久化卷的更多相关文章

  1. Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列

    Atitit.提升软件稳定性---基于数据库实现的持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...

  2. redis数据库安装 redis持久化及主从复制

    ----------------------------------------安装redis-5.0.4---------------------------------------- wget h ...

  3. docker容器持久化卷讲解

    docker容器自身存储数据效率比较低,因此我们为了提高磁盘IO的性能等,需要在容器中挂载一个外部存储设备.关于讲解大致如下: Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中 ...

  4. Redis数据库 02事务| 持久化| 主从复制| 集群

    1. Redis事务 Redis不支持事务,此事务不是关系型数据库中的事务: Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...

  5. Linux实战教学笔记45:NoSQL数据库之redis持久化存储(一)

    第1章 redis存储系统 1.1 redis概述 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的Mem ...

  6. LAMP环境搭建,防火墙开启,数据库挂载在逻辑卷

    具体要求: 1. 源码部署 LAMP 环境, 和生产保持一致 2. 静态资源文件同步生产环境 3. 需要同时部署 2 个 web 网站 步骤: 一. 需要的安装包. 提前准备好. apr-util-1 ...

  7. nosql数据库之Redis持久化、备份和主从配置

    一.持久化方式 Redis提供了两种数据备份的方式,一种是RDB,另外一种是AOF.   RDB AOF 开启/关闭 开启:默认开启:关闭:把配置文件中所有的save注释就是关闭了 开启:在配置文件中 ...

  8. Linux实战教学笔记46:NoSQL数据库之redis持久化存储 (二)

    第3章 Redis数据类型详解 3.1 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如"foo"的简单字符串到一个JPG ...

  9. [开源内卷] .NET 定时任务 -- FreeScheduler 支持 cron、持久化、可变定时设置

    前言 卷了,卷了,卷了,最近太卷...这篇文章写了好几天了,由于同类型文章太多,排期到今天发布.实在不想卷,得罪了!各位定时任务开源大佬们! .NET 定时组件生态实在太强大了,写下此文只希望能供大家 ...

随机推荐

  1. Accumulator<Long> implements of JavaSparkContext in Spark1.x

    As we all know , up to Spark 1.6.2, JavaSparkContext only provides two kinds of accumulators: Intege ...

  2. Python3 与 C# 网络编程之~ 网络基础篇

    最新版本查看:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入门篇 官方文档:https://docs.python.org/3/library ...

  3. iOS:给标签栏控制器的UITabbarItem添加点击动效

    一.介绍 现在很多app,附带很炫的点击效果,让用户享受到非常棒的体验,例如动画.渐变.音效等. 当然,市面上大多数app的标签栏点击还是挺中规中矩的,只是切换图片而已.然而,这个是可以优化的,附带点 ...

  4. TCP/IP协议(一)网络基础知识 网络七层协议

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  5. 20170711 通过阿里云与国家气象局合作的api读取历史辐照数据

    一.概述     今天收到阿里云推送的试用通知,就迫不及待的申请了一个试用key,开始试用.     初步使用之后发现基本可用,至于最后是否适合商用还要看他的收费情况.           接口的使用 ...

  6. Spark2.3(四十三):Spark Broadcast总结

    为什么要使用广播(broadcast)变量? Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,需要使用广播变量.进一步解释: 如果exe ...

  7. ChartControl控件0和null的效果

    DevExpress的ChartControl虽然还不能完全代替Office图表(例如它暂时不支持添加数据表),但它算同类产品中相当优秀的了,下面是对0值和空值的处理. DataTable zeroD ...

  8. Java WebSocket实现网络聊天室(群聊+私聊)

    1.简单说明 在网上看到一份比较nice的基于webSocket网页聊天项目,准备看看学习学习,如是有了这篇文章!原博主博客:http://blog.csdn.net/Amayadream/artic ...

  9. javascript umd esm slim

    在CDN的连接中看到多个连接时如何选择? JavaScript 模块现状 UMD和ECMAScript模块 https://cdn.bootcss.com/popper.js/1.13.0/esm/p ...

  10. 存货控制中的ABC分类释义

    存货控制的ABC制度是根据存货的重要程度把存货归为A.B.C三类,最重要的是A类,最不重要的是C类. A类产品就是指在产品销售进程中,销量比较多,在库存管理方面需要大量备货的产品; B类则是销量适中, ...