新增数据库SDK配置并注册到Cloud Map
创建数据库连接时,传统的做法是在配置文件中配置用户名、密码等连接信息,通过调用SDK连接数据库。WiseDBA管理台提供SDK配置功能,支持在WiseDBA管理台配置连接信息,并注册到Cloud Map中,在创建数据库连接时,直接调用Cloud Map中的注册信息。
前提条件
- 已创建Database/Schema/keyspace。
- 已创建业务账号,账号状态为success。
- 需要具备AppStage服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限。
新增SDK配置
- 进入AppStage运维中心。
- 在顶部导航栏选择服务。
- 单击 ,选择。 ,选择。
- 选择左侧导航栏的。
- 单击实例列表中的实例名称,在左侧导航栏选择“SDK配置”。
- 单击“新增配置”,配置相关参数。
    
    - 当数据库实例引擎为MySQL类型时,参数说明如表1所示。 
      表1 MySQL类型数据库新增SDK配置参数说明 参数 说明 微服务名称 微服务名称为非必选项。如果业务涉及的微服务较多,可以不填微服务名称,表示匹配全部微服务。 Schema名称 选择Schema名称。 业务账号 连接数据库的业务账号名。 DataSource名称 自定义DataSource名称,Rainbow需要使用dataSourceName方式初始化。不能为空,长度1-256,不支持中文,不能空格。 您也可以单击“自动生成”,自动生成DataSource名称。 备注 填写备注信息。 主库IP 显示主IP信息。 读写分离 单击“启用”,设置读写权重。 说明:此处设置的权重和华为云设置的读权重意义不同,读流量先通过SDK配置的权重进行分配,再通过华为云设置的权重进行再次分配。 是否支持快速感知数据库连接失效 单击开关开启,开启后可以快速感知数据库连接失效。 影子库 单击“启用”,选择影子库实例、影子Schema、影子业务账号。 说明:- DRDS(for MySQL)影子库实例默认为生产库实例,不需要选择;影子库只使用主AZ IP做影子库压测,不做双云能力。
- 存量的配置不支持开启影子库及修改影子库信息。
- TaurusDB影子库需要与生产库名不一致。
- 业务执行走影子库逻辑与生产库逻辑,通过调用接口来打开,程序必须主动关闭。
- 执行影子库SQL语句中不要带有生产的库。
- TaurusDB在线压测不支持双云切换功能,读写分离功能、权重相关功能。
 连接池参数 单击“运行参数值”列中的  ,可以修改参数取值。 ,可以修改参数取值。jdbcProperties(MySQL Driver)参数说明请参见MySQL官网。 poolProperties(Alibaba Druid)参数说明请参见表2。 表2 poolProperties(Alibaba Druid)参数说明 参数 说明 asyncInit 是否使用异步初始化启动。默认false。 initialSize 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时。例如:30,默认值20,小于maxActive。 maxActive 最大连接池数量,例如:60,默认值为40。 minIdle 最小连接池数量,例如:30,默认值为20,小于maxActive。 maxWait 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。 testOnBorrow 申请连接时检测连接是否有效,做了这个配置会降低性能。默认值false。 testOnReturn 归还连接时检测连接是否有效,做了这个配置会降低性能,默认值false。 testWhileIdle 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,检测连接是否有效。默认值true。 keepAlive 连接池中的minIdle数量以内的连接,并且连接的空闲时间大于keepAliveBetweenTimeMillis但小于minEvictableIdleTimeMillis,则会执行validationQuery来保持连接的有效性。缺省值为true。 keepAliveBetweenTimeMillis 打开keepAlive时,当连接的空闲时间超过该值,会使用validationQuery执行一次查询,检查连接是否可用。缺省值为120s。 timeBetweenEvictionRunsMillis 有以下两个含义: - Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。
- testWhileIdle的判断依据,详细看testWhileIdle属性的说明。
 minEvictableIdleTimeMillis 连接保持空闲而不被驱逐的最长时间,默认值300000,单位毫秒,非必要。 logInterval 对应Druid的timeBetweenLogStatsMillis,连接池统计日志打印时间间隔。配置为0表示不打印。 logSlowSql 是否打印慢查询日志,如打印日志:slow sql XXX millis。 slowSqlMillis 慢查询时间。 添加数据组 单击“添加数据组”,增加自定义参数,参数名以字母开始,由数字、字母、_组成。 
- 当数据库实例引擎类型为GeminiDB(for Cassandra)时,参数说明如表3所示。 
      表3 GeminiDB(for Cassandra)新增SDK配置参数说明 参数 说明 Cloud Map实例 选择Cloud Map实例,即录入到对应的Cloud Map环境。 授权微服务名称 微服务名称为非必选项。如果业务涉及的微服务较多,可以不填微服务名称,表示匹配全部微服务。 Keyspace名 选择Keyspace名称。 业务账号 连接数据库的业务账号名。 DataSource名称 自定义DataSource名称,Rainbow需要使用dataSourceName方式初始化。不能为空,长度1-256,不支持中文,不能空格。 您也可以单击“自动生成”,自动生成DataSource名称。 SDK种子节点IP SDK种子节点IP信息。 实例种子节点IP 实例种子节点IP信息。 全表扫描 选择是否开启全表扫描。 在线压测 选择是否开启在线压测。 慢查询阈值 超过慢查询阈值的记录为慢sql,默认值为2000。 请求路由优化 是否开启请求路由优化。开启请求路由优化,可使请求优先访问有数据的节点,减少转发。 PK黑名单 选择是否开启PK黑名单。 单击“新增”,新增一条黑名单配置。 自定义配置 单击“添加自定义配置”,配置Key和Value,单击“保存”,即可添加一条自定义配置。 
- 当数据库实例引擎类型为GaussDB或RDS for PostgreSQL时,参数说明如表4所示。 
      表4 GaussDB及RDS for PostgreSQL新增SDK配置参数说明 参数 说明 微服务名称 微服务名称为非必选项。如果业务涉及的微服务较多,可以不填微服务名称,表示匹配全部微服务。 Database名称 选择Database名称。 Schema名称 选择Schema名称。 业务账号 连接数据库的业务账号名。 DataSource名称 自定义DataSource名称,Rainbow需要使用dataSourceName方式初始化。不能为空,长度1-256,不支持中文,不能空格。 您也可以单击“自动生成”,自动生成DataSource名称。 备注 填写备注信息。 主库IP 显示主IP信息。 连接池参数 单击“运行参数值”列中的  ,可以修改参数取值。 ,可以修改参数取值。jdbcProperties(GaussDB Driver)参数说明请参见连接数据库。 jdbcProperties(Postgre Driver)参数说明请参见pgJDBC文档。 poolProperties(Alibaba Druid)参数说明请参见表2。 
 
- 当数据库实例引擎为MySQL类型时,参数说明如表1所示。 
      
- 单击“保存”。
更多操作
| 操作 | 说明 | 
|---|---|
| 重置实例IP | 当实例IP发生变化时,通过重置实例IP功能,可以将变更后的IP同步到Cloud Map中。 单击“重置实例 IP”,在弹出的提示框中单击“确定”,即可重置实例IP。 | 
| 修改SDK配置 | 单击SDK列表操作列的“管理”,修改SDK配置。 | 
| 删除SDK配置 | 单击SDK列表操作列的“删除”,删除SDK配置。 | 
| 跳转到Cloud Map | 单击SDK列表操作列的“跳转到Cloud Map”,查看SDK配置数据推送到Cloud Map。 | 
 
  