trove 基本介绍
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 基本介绍相关推荐
- OpenStack Trove2
对于公有云计算平台来说,只有计算.网络与存储这三大服务往往是不太够的,在目前互联网应用百花齐放的背景下,几乎所有应用都使用到数据库,而数据 库承载的往往是应用最核心的数据.此外,在大数据分析越来越盛行 ...
- Trove系列(七)——Trove的Mysql的复制功能介绍
描述提供各种复制功能的支持对于Trove来说是很关键的.本章节将描述各种使用案例和相关的用户需求.并依次提出了MySQL的初始阶段的实现. Mysql的复制功能介绍概述先介绍一下MySQL的复制功能原 ...
- 开源的高性能Java集合:GNU Trove介绍
看过openNLP源码的人或许会注意到代码里经常引入import gnu.trove.*; 好奇之余,进行了资料搜集和总结. Trove 是一个快速.轻量级 Collection 类的集合.Trove ...
- Trove系列(二)—Trove 的架构和流程介绍
Trove主要逻辑目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理.数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未 ...
- OpenStack服务组件介绍
OpenStack的版本 OpenStack的版本命名很有个性,每个主版本系列以字母表顺序(A~Z)来命名,以年份及当年内的排序做版本号. 比如第一个版本叫做Austin(2010.1),编号表明其 ...
- trove 配置文件
环境介绍 三台controller,分别为node1,node2,node3.三台node,分别安装dashboard,keystone,Nova,neutron,cinder,ceph,glance ...
- Trove 3.0.0
Trove 3.0.0使用背景介绍 Trove 是一个快速.轻量级 Collection 类的集合.Trove 提供所有标准 java.util Collections 类的更快的版本以及能够直接在原 ...
- java trove_[XMLer的生活]可使用基本类型作为键值的Java集合类-Trove 集合类
性能观察:Trove 集合类更小.更普通.更易上手 级别: 中级 Trove 是一种开放源代码的 Java 集合包,提供了核心 Java 集合类的高效替代品,特别针对于实现其键或值是基本类型的集合.本 ...
- trove mitaka集成
本文介绍ubuntun 14.04 LTS 下openstack trove集成安装的步骤及配置. 1. 安装 1.1 配置apt源: echo "debhttp://ubuntu-clou ...
最新文章
- 架构风格:万金油CS与分层
- mysql数据库被黑客删除,您做好防范了吗?
- 手机web——自适应网页设计(html/css控制) - 51CTO.COM
- 万亿条数据查询如何做到毫秒级响应?
- react脚手架搭建项目目录介绍
- 用java程序for循环打印菱形_编写Java程序,应用for循环打印菱形、三角形
- bucket sort sample sort 并行_IBM布局AI硬件大杀器:硬软件并行开发、开源模拟AI工具包...
- express框架日志处理组件morgan
- java color数组_java数组的学习
- 【正点原子STM32连载】第一章 本书学习方法 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- WPS Mac旧版该怎么彻底卸载干净
- 设计模式——备份模式
- 数学期望一-指数分布的数学期望
- 让0球平局怎么算_古迪逊公园默郡德比,平局德比丨第30轮
- 二叉树基础题(五):二叉树的下一个节点最低公共祖先节点
- 基于Vector 的AUTOSAR NvM 模块使用
- 浙大版《Python 程序设计》题目集
- 序列模型第二周作业1:Operations on word vectors
- POJ - Frogs' Neighborhood(Havel-Hakimi)
- 看起来简单,实际上复杂