新增数据库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做影子库压测,不做双云能力。
- 存量的配置不支持开启影子库及修改影子库信息。
- GaussDB(for MySQL)影子库需要与生产库名不一致。
- 业务执行走影子库逻辑与生产库逻辑,通过调用接口来打开,程序必须主动关闭。
- 执行影子库SQL语句中不要带有生产的库。
- GaussDB(for MySQL)在线压测不支持双云切换功能,读写分离功能、权重相关功能。
连接池参数
单击“运行参数值”列中的,可以修改参数取值。
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。 |