写点什么

Openstack Trove 在奇云上的实践

  • 2019-11-14
  • 本文字数:1259 字

    阅读完需:约 4 分钟

Openstack Trove在奇云上的实践

Openstack Trove 是 Openstack 为用户提供的数据库即服务。Trove 允许用户快速又简单的使用关系型或非关系型数据库,不需要有处理复杂管理任务的负担。在实际使用中,原生的 Trove 在创建主从模式数据库实例,如 RDS/Redis 时,需要先单独创建一个主实例,再创建一个该实例的副本,才能建立好主从关系,需要两步操作。同时在实例里,用户私有网络需要与管理网络互通,有很大的安全隐患。本文将介绍奇云在创建主从模式数据库实例上,对 Trove 做了哪些改造。

Trove 简介

Trove 能完全运行于 Openstack 中,Trove 与 Openstack 其他组件通过 Restful API 来交互。其中最主要的部分,Trove 在 Nova 中创建包含 trove-guestagent 和数据库程序的虚机,Trove 所使用的镜像存放在 Glance 中, Neutron 为 Trove 分配所要的网络信息,同时 Trove 依赖 keystone 与其他组件通信。



Trove 自身包含的组件通过消息队列来通信,它们可以运行在不同的服务器上。Trove 主要由下面这些组件组成。


  • API Server

  • Message Bus

  • Task Manager

  • Guest Agent

  • Conductor


Trove-api 服务对外提供创建和管理实例等 Restful API 接口,支持 Json 和 Xml 格式。Trove-api 将复杂的异步任务交给 trove-taskmanager 来处理,对于简单任务,Trove-api 也可以直接与 Trove-guestagent 通信。


Trove-taskmanager 服务主要是做一些重的任务,比如创建实例,管理实例的生命周期,对数据库实例执行一些操作等


Trove-guestagent 服务运行在每一个客户实例中,监听消息队列的消息,负责管理数据库和对数据库执行相应操作,


Trove-conductor 运行在主机上,接收从客户实例发送来的消息。

Trove 相关概念

Instance:数据库实例,一个包含数据库程序的 Openstack 虚机


Replica instance:数据库副本实例,创建时需要指定从属于哪个主实例


Datastore/Dastastore version:用来表示和存储数据库的类型、版本、对应虚拟机镜像等信息。当用户创建一个数据库实例时需要指定 Datastore 和版本

Trove 在奇云中的实践

系统架构


奇云基于原生 Mitaka 版的 Trove,结合自身需要,做了很多改造,增加了自动备份服务 Trove-backup,存活监控服务 Trove-monitor, 优化了主从切换,实例扩容,参数配置等操作,在这里不进行一一详述。下面主要讲述奇云在创建主从模式的数据库实例,例如 RDS/Redis,做了哪些操作。

创建主从模式的实例

奇云 Trove 支持一个 API 创建请求创建出主从两个实例,两个实例分属于两个物理集群(master/slave),之后再关联好主从关系,这样主从实例就可以正常使用了。实例虚机内包含两块网卡,管理网卡可与管理网络通信,而与用户数据网络隔离,并且用户数据网络增加一个服务 IP(VIP),便于主从切换的实现。下图所示是奇云 Trove 在创建 RDS 实例的过程,该网络交互过程是在虚机分配的管理网卡上。


主从切换

用户通过 VIP 来访问数据库实例,当主节点宕机或不可用时,管理员可以进行主从切换,切换节点角色,把 VIP 切换到从节点上,保证服务的可用性。



本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/oloafWaDFTJRIG9IHxcN3A


2019-11-14 18:481238

评论

发布
暂无评论
发现更多内容

软件测试|HTTPS 的通信

霍格沃兹测试开发学社

Git之使用GitHub搭建远程仓库

芯动大师

GitHub、 git 学习 代码托管 分支管理 clone代码

2022-12-28:有n个黑白棋子,它们的一面是黑色,一面是白色, 它们被排成一行,位置0~n-1上。一开始所有的棋子都是黑色向上, 一共有q次操作,每次操作将位置标号在区间[L,R]内的所有棋子翻

福大大架构师每日一题

golang 算法 福大大

Gitea 的邮件通知

HoneyMoose

容器安全的三大挑战

SEAL安全

容器安全 12 月 PK 榜

软件测试面试 | 一面试就紧张,怎么办?

霍格沃兹测试开发学社

MVP、原型、概念验证,傻傻分不清楚?

敏捷开发

开发 MVP 原型

uniapp 在微信小程序中图片宽度显示问题

ModStart

Python图像处理丨详解图像去雾处理方法

华为云开发者联盟

Python 人工智能 华为云 12 月 PK 榜

上云节省 35%计算资源,420 个运维人天:运满满实时计算实践和思考

Apache Flink

大数据 flink 实时计算

浅谈权限系统在多利熊业务应用

百度Geek说

百度 权限系统 12 月 PK 榜 多利熊

使用 ClusterResourceSet 为 Cluster API 集群自动安装 CNI 插件

Se7en

【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理

码界西柚

Java JVM Finalizer 12月月更

信息安全等级测评师证书有效期是多久?谁能告诉一下?

行云管家

等保

智能低代码平台,驱动企业数字化转型

元年技术洞察

低代码 数字化转型

非正式全面解析 NebulaGraph 中 Session 管理

NebulaGraph

图数据库 会话管理 session管理

龙蜥开发者说:众人拾柴火焰高!聊一聊我在社区的所思所想 | 第 14期

OpenAnolis小助手

开发者 开源社区 龙蜥开发者说 LoongArch 架构 红旗软件

架构实战营 模块三作业 外包学生管理系统架构设计

西山薄凉

「架构实战营」

时序引擎架构和实例演练

KaiwuDB

软件测试简历书写 | 简历中应该如何描述才能体现出软技能的实力 ?

测试人

软件测试 自动化测试 简历 软技能 测试开发

Triple 协议支持 Java 异常回传的设计与实现

Apache Dubbo

Java 开源 微服务 gRPC dubbo

2023年内蒙古等保测评公司有哪些?五家还是6家?

行云管家

等保 等保测评 内蒙古

活动预约报名系统怎么做?快来借鉴「苍山徒步之家」的经验做法

天天预约

微信小程序 SaaS 数据统计 预约工具 活动报名

数字化时代,校园生活还可以这样过

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

Java高手速成│Java程序怎样和数据库对话

TiAmo

JDBC 数据库· 12月月更

案例分享:硬件敏捷

ShineScrum

Scrum 敏捷开发 TDD 硬件敏捷

如何通过Java应用程序将Word转为Excel

在下毛毛雨

Java Excel word 文档 转换

说透IO多路复用模型

京东科技开发者

开发 系统 epoll poll Lunix

参与Getaverse早期建设,成为节点验证者!!

Geek_Web3

#区块链# did #Web3

多模态交互在数智化营销服中的技术实践

中关村科金

人工智能 算法 全栈 数字化转型 多模态

PHP 中类自动加载相关文件分析

ModStart

Openstack Trove在奇云上的实践_文化 & 方法_方慧琳_InfoQ精选文章