Trove是openstack推出的Database As a Service(DBaas)服务组件,类似于AWS提出的RDS概念,虽说trove目前也支持不少的NoSQL,但在M版本时,经过测试可以商用的主要还是mysql这个关系型数据库。

传统的数据库部署一般常见的是部署在固定的物理服务器上,不管是单机部署还是集群部署,自从有了虚拟机之后,也有不少直接部署在虚拟机之上的,当然也有不少文章评论说像mysql这种数据库不适合部署在虚拟机之上,我们咱不讨论,总的来说,类似于这种传统的部署方式,在做运维监控时,往往是靠DBA通过借助某些工具,或者自己编写一些脚本来尽量达到自动化运维的目的,而且还有一个明显的缺点就是,对这些数据库进行运维管理需要比较强的专业水准方可,否则如何去给mysql做主从呢。而我们现在讨论的数据库及服务呢,也和openstack其他组件服务一样,通过前端管理平台(Horizon),可以让并不是DBA身份的人可以很容易的对数据库进行用户管理,授权管理,数据库主从配置,容灾备份等常见操作。

业界喜欢把这种数据库服务称为PAAS服务,虽然从实现手段上看,并没有通过标准的容器来承载数据库(现在的kubernetes+docker是完全可以实现的)。而仍然是常见的IAAS手段,及通过虚拟机来承载,这个就不做过多讨论了,我不确定阿里云和Azure是不是也是这种IAAS+实现。当然,trove和AWS和阿里云的RDS相比起来,还是有一定的差距,比如自动化备份,参数前端配置等。

我们来看一下trove的架构图:

先介绍一下其中的几个核心模块:

trove-api: 这个很容易想到,提供基于RESTful的api入口,负责加载配置参数,接受消息请求,然后通过rabbitmq转发消息到其他模块进行处理。 /etc/trove/trove.conf配置请参考点击打开链接

trove-taskmanager: 它负责大部分的任务逻辑处理,包括数据库实例的生命周期管理,负责和其他openstack组件 nova,cinder,swift等通信。trove的数据库备份默认是存储在swift里面的,因此在openstack环境里,必须要配置有swift存储。trove-taskmanager会读取/etc/trove/trove-taskmanager.conf中的swift_url = http://172.16.12.112:8880/v1/AUTH_
读取相应的swift endpoint。

trove-conductor: 它主要负责对实例的一些状态信息进行存储。

trove-guestagent: 这是一个部署在每一个数据库实例所在虚拟机上的agent,主要用来执行trove-taskmanager通过rabbitmq发送过来的任务请求,重点是针对数据库执行的各种操作,比如启动,停止之类的。它也会保持和taskmanager之间发送心跳。 guestagent的配置文件请参考:
点击打开链接

基本介绍就先到这,后续继续以trove常使用的功能进行源码分析。

trove 基本介绍相关推荐

  1. OpenStack Trove2

    对于公有云计算平台来说,只有计算.网络与存储这三大服务往往是不太够的,在目前互联网应用百花齐放的背景下,几乎所有应用都使用到数据库,而数据 库承载的往往是应用最核心的数据.此外,在大数据分析越来越盛行 ...

  2. Trove系列(七)——Trove的Mysql的复制功能介绍

    描述提供各种复制功能的支持对于Trove来说是很关键的.本章节将描述各种使用案例和相关的用户需求.并依次提出了MySQL的初始阶段的实现. Mysql的复制功能介绍概述先介绍一下MySQL的复制功能原 ...

  3. 开源的高性能Java集合:GNU Trove介绍

    看过openNLP源码的人或许会注意到代码里经常引入import gnu.trove.*; 好奇之余,进行了资料搜集和总结. Trove 是一个快速.轻量级 Collection 类的集合.Trove ...

  4. Trove系列(二)—Trove 的架构和流程介绍

    Trove主要逻辑目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理.数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未 ...

  5. OpenStack服务组件介绍

    OpenStack的版本  OpenStack的版本命名很有个性,每个主版本系列以字母表顺序(A~Z)来命名,以年份及当年内的排序做版本号. 比如第一个版本叫做Austin(2010.1),编号表明其 ...

  6. trove 配置文件

    环境介绍 三台controller,分别为node1,node2,node3.三台node,分别安装dashboard,keystone,Nova,neutron,cinder,ceph,glance ...

  7. Trove 3.0.0

    Trove 3.0.0使用背景介绍 Trove 是一个快速.轻量级 Collection 类的集合.Trove 提供所有标准 java.util Collections 类的更快的版本以及能够直接在原 ...

  8. java trove_[XMLer的生活]可使用基本类型作为键值的Java集合类-Trove 集合类

    性能观察:Trove 集合类更小.更普通.更易上手 级别: 中级 Trove 是一种开放源代码的 Java 集合包,提供了核心 Java 集合类的高效替代品,特别针对于实现其键或值是基本类型的集合.本 ...

  9. trove mitaka集成

    本文介绍ubuntun 14.04 LTS 下openstack trove集成安装的步骤及配置. 1. 安装 1.1 配置apt源: echo "debhttp://ubuntu-clou ...

最新文章

  1. 架构风格:万金油CS与分层
  2. mysql数据库被黑客删除,您做好防范了吗?
  3. 手机web——自适应网页设计(html/css控制) - 51CTO.COM
  4. 万亿条数据查询如何做到毫秒级响应?
  5. react脚手架搭建项目目录介绍
  6. 用java程序for循环打印菱形_编写Java程序,应用for循环打印菱形、三角形
  7. bucket sort sample sort 并行_IBM布局AI硬件大杀器:硬软件并行开发、开源模拟AI工具包...
  8. express框架日志处理组件morgan
  9. java color数组_java数组的学习
  10. 【正点原子STM32连载】第一章 本书学习方法 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  11. WPS Mac旧版该怎么彻底卸载干净
  12. 设计模式——备份模式
  13. 数学期望一-指数分布的数学期望
  14. 让0球平局怎么算_古迪逊公园默郡德比,平局德比丨第30轮
  15. 二叉树基础题(五):二叉树的下一个节点最低公共祖先节点
  16. 基于Vector 的AUTOSAR NvM 模块使用
  17. 浙大版《Python 程序设计》题目集
  18. 序列模型第二周作业1:Operations on word vectors
  19. POJ - Frogs' Neighborhood(Havel-Hakimi)
  20. 看起来简单,实际上复杂

热门文章

  1. Cesium 拾取 API 完全总结
  2. datanlysis
  3. 去掉/隐藏 word的回车符
  4. 苹果 macbookpro m2 pro、m2 max、m1 pro和 m1 max区别
  5. 腾讯地图只显示某一区域,覆盖图,marker自定义图标和文本标注
  6. 免费edu邮箱申请注册地址
  7. html版电子表,秒表,倒计时
  8. php解决时间2038问题,PHP实例:关于PHP转换超过2038年日期出错的问题解决
  9. 药监局,药品监督管理局
  10. bug bounty - 绕过限制劫持Skype账号