Trove通过API服务器对外提供的API接口接收外部的数据库访问和管理指令,从而实现数据库的创建、管理和操作等。现在版本中Trove对外提供的接口如下:
·db_instance
·db_instance_action
·database
·user
·flavor
·security_group
·Backup
·Datastore
·datastore_version
·Configuration
·configuration_parameter
·db_instance_log(规划中)
1.db_instance接口
db_instance接口主要实现数据库实例的管理,主要包括:
·罗列数据库中所有的数据库实例。
·创建一个新数据库实例。
·获取一个数据库实例的相关信息。
·删除一个特定的数据库实例。
2.db_instance_action接口
db_instance_action接口主要完成数据库实例的操作功能,主要包括:
·重启数据库实例。
·修改数据库实例大小。
·修改数据库实例卷大小。
3.Database接口
Database接口提供了数据库相关的功能,主要包括:
·创建一个新数据库。
·列举数据库信息。
·删除一个特定的数据库。
4.User接口
User接口主要实现用户的管理功能和信息查看功能,主要包括:
·创建一个新用户。
·展示用户列表。
·改变用户密码。
·获取用户详细信息。
·列举用户的数据库信息。
·为用户增加或删除数据库权限。
·删除用户。
5.Flavor接口
Flavor接口从Nova中获取预先设定好的虚拟机配置,并提供查询功能,可供用户选择虚拟机类型。主要功能包括:
·列举所有支持的虚拟机配置。
·获取一类虚拟机的详细信息。
6.Security_group接口
Security_group接口中没有创建操作,目前Trove对于安全组的设计是:每个数据库实例对应一个安全组,用户不能直接操作安全组,只能添加或删除安全组的规则。未来这个设计可能改变。安全组中的规则权限如:端口、IP访问权限等。安全组接口主要包括:
·列举所有的安全组列表。
·获取一个安全组的详细信息。
·为一个安全组创建新的规则。
·删除一个安全组的已有规则。
7.Backup接口
Trove目前支持多种备份方式:MySQLdump、XtraBackup、Openstack’s volume snapshot,使用相应的备份方式,在做系统映像的时候要包含相关的备份工具。Trove现阶段支持手工备份,暂不支持系统的自动备份和实时备份。备份接口主要包括:
·列举当前所有的备份数据。
·获取一个备份数据的详细信息。
·创建一个实例的备份。
·恢复备份。
·删除一个备份数据。
8.Datastore接口
Datastore是指存储数据的数据库管理程序。Trove现在支持的数据库管理程序有MySQL、cassandra、mongodb等。Datastore接口包括:
·列举当前支持的所有Datastore。
·获取一个Datastore的详细信息。
9.Datastore_version接口
Datastore_version是指存储数据的数据库管理程序的版本。Trove现在支持的数据库管理程序有MySQL、Cassandra、Mongodb等,Datastore_version是指这些数据库管理程序的版本,例如是5.1还是5.5。Datastore和Datastore_version用来在create db instance的时候供用户选择。Datastore_version接口包括:
·列举一个数据库支持的所有版本信息。
·获取一个数据库版本的详细信息。
10.Configuration接口
Trove中的Configuration是指数据库程序配置文件中的配置项,这些配置项由key-value的形式组成。Configuration的接口包括:
·获取租户已定义的配置组列表。
·获取特定的配置组。
·获取和某配置相关的实例列表。
·创建一个新的配置组。
·更新配置条例。
·替换所有的配置条例。
·删除一个配置组。
11.Configuration_parameter接口
Configuration_parameter接口是对配置项key的详细信息的记录,它包括配置参数的默认值、是否需要配置、是否可以动态生效,以及数据类型是什么。Configuration_parameter接口包括:
·获取配置参数列表。
·获取一个配置参数的详细信息。
以上主要介绍了Trove目前版本提供的对外API服务接口。通过这些接口,我们可以进一步了解Trove对外提供的功能。