使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

(备注:代双翎发布本文)

前言

资源编排(ROS)是用户贴身的资源管理助手。用户只要在ROS模板中书写详细的配置参数,即可一键生成想要的资源。

阿里云各产品的控制台十分方便,但是也有其缺点:当用户想要创建多组类似的资源,需要重复地去访问各产品控制台,点到手抽筋。这时候,聪明的用户就会思考使用OpenApi或者SDK来创建和管理资源,可这样又面临着前期准备所花费的大量时间成本,而且每有一个新的资源组合的需求,就要再写一次代码。不仅如此,使用OpenApi或者SDK需要用户亲自通过代码管理整个实例的生命周期。用户本应当去关注自己的功能本身,而不是这些琐碎的时期。

替用户处理这些事情就是ROS存在的意义!用户告诉ROS自己想要什么样的资源组合,ROS分分钟就会创建出来,把指定的阿里云计算资源安排得明明白白。

DRDS

本文将重点讲述分布式关系型数据库(DRDS)与ROS可以如何通力合作。

分布式关系型数据库服务(Distributed Relational Database Service,简称 DRDS)是阿里巴巴致力于解决单机数据库服务瓶颈问题而自主研发推出的分布式数据库产品。DRDS 高度兼容 MySQL 协议和语法,支持自动化水平拆分、在线平滑扩缩容、弹性扩展、透明读写分离,具备数据库全生命周期运维管控能力。DRDS 前身为淘宝 TDDL,是近千核心应用首选组件。

DRDS实例资源

在 ROS 中,想要创建DRDS实例资源,需要在模板中声明 DRDS::DrdsInstance 资源类型以及一些配置参数。

创建经典网络DRDS实例

我们先举一个最简单的用ROS创建DRDS实例的例子。

{
    "ROSTemplateFormatVersion": "2015-09-01",
    "Resources": {
      "DrdsInsance": {
        "Type" : "ALIYUN::DRDS::DrdsInstance",
        "Properties" : {
            'Description': 'ros test drds',
            'InstanceSeries': 'drds.sn1.4c8g',
            'Specification': 'drds.sn1.4c8g.8C16G',
            'PayType': 'drdsPost',
            'ZoneId': 'cn-beijing-c',
            'Type': 'PRIVATE',
            'Quantity': 1
        }
      }
    }
 }

这里,先讲解下这个模板中的关键点:

  • ROSTemplateFormatVersion 声明了ROS模板的语法版本,取固定值 2015-09-01
  • Resources 声明了要创建的资源。它是一个字典
    • Resources的键(如文中的DrdsInstance)是资源的逻辑ID,可以在其他资源或输出中通过这个ID来引用资源的属性
    • Resources的值是资源的配置,即要创建什么样的资源,它Type和Properties两个属性
      • Type 是资源类型,如示例中的 ALIYUN::DRDS::DrdsInstance 表明要创建一个DRDS实例
      • Properties 是资源属性,随资源类型的不同而不同。比如对于ALIYUN::DRDS::DrdsInstance这一个资源来说,它有InstanceSeries,Specification,PayType等属性,而每个属性的含义与DRDS实例API保持一致,可参考创建DRDS实例_实例管理类API

创建专有网络下的DRDS实例

{
    "ROSTemplateFormatVersion": "2015-09-01",
    "Resources": {
      "DrdsInsance": {
        "Type" : "ALIYUN::DRDS::DrdsInstance",
        "Properties" : {
            'Description': 'ros test drds',
            'InstanceSeries': 'drds.sn1.4c8g',
            'Specification': 'drds.sn1.4c8g.8C16G',
            'PayType': 'drdsPost',
            'ZoneId': 'cn-beijing-c',
            'Type': 'PRIVATE',
            'Quantity': 1,
            'VswitchId': 'vsw-xxxxxxxx',
            'VpcId': 'vpc-xxxxxxx',
        }
      }
    }
 }

这个例子比上一个新增了VswitchId和VpcId属性用作专有网络配置,记得vswitch和vpc都要选择和实例同一个可用区的哦!

ROS控制台使用示例

1. 访问新版ROS控制台,点击创建堆栈

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

2. 选择直接输入模板,并输入提前配置好的JSON或者YAML配置

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

3. 点击下一步,配置模板参数

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

4. 点击下一步,配置堆栈

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

5. 点击下一步,创建堆栈

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

6. 即可在堆栈列表中看到新建的Drds资源

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

7. 当我们不需要这些资源时,在资源栈管理界面中点击”删除“,并在弹出的界面中勾选”释放资源“,即可一键删除所有资源。

使用资源编排服务(ROS)轻松玩转分布式关系型数据库(DDRS)

 
上一篇:云上资源自动化部署新模式


下一篇:对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀