更新时间:2024-10-14 GMT+08:00
创建发布
什么是发布订阅?
RDS for SQL Server提供的发布与订阅功能,利用复制技术来实现数据同步,实现数据的读写分离和云数据库之间以及线下线上数据库之间的数据同步。
操作场景
RDS for SQL Server提供的发布功能,将当前实例作为发布实例,需要先为发布实例设置分发服务器,再创建发布,然后为已创建的发布添加订阅服务器,实现发布实例的数据通过分发服务器同步到订阅服务器。
图1 拓扑图
约束限制
- RDS for SQL Server不支持跨Region创建发布订阅链路。
- 1个实例只能设置1个分发服务器,当前实例的所有发布均使用这个分发服务器。删除分发服务器会同时删除发布。
- RDS for SQL Server Web版不能作为分发服务器和创建发布,但可以作为订阅服务器。
- 创建发布时,数据库名和发布名不能和已有的发布一致。
- RDS for SQL Server仅支持事务发布。
- 添加其他订阅服务器时,远程用户要有sysadmin权限。
- 添加RDS for SQL Server订阅服务器时,一次性最多选择10个数据同步的链路。
- 如果实例已开启发布订阅功能,不支持修改该实例的内网IP和端口。
- 发布端和订阅端的表名和字段名不支持中文字符。
- 当分发服务器节点故障时,不支持通过主备切换恢复发布订阅链路。
设置分发服务器
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页面。
- 在左侧导航栏选择“发布订阅”。
- 在“发布”页签下,单击“设置分发服务器”。
- 在弹框中,选择当前实例或者其他实例作为发布服务器,勾选“我已了解上述信息”,单击“确定”。
图2 设置分发服务器
- 查看已设置的分发服务器。
图3 查看分发服务器
创建发布
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页面。
- 在左侧导航栏选择“发布订阅”。
- 在“发布”页签下,单击“创建发布”。
- 在创建发布页面,设置发布信息后,单击“确认”。
- 填写发布名称、选择发布数据库,以及发布数据。
- 设置发布表/字段的筛选器:单击“设置筛选器”,设置筛选条件,将按照筛选条件发布表/字段。
- 设置发布表/字段的项目属性:单击“设置项目属性”,填写发布表/字段的属性信息。
- 全量快照:选择立即创建,发布创建完成后,将会在分发服务器上立即触发一次全量快照。若不选择立即创建,则当添加新订阅时自动生成全量快照。订阅服务器必须等待快照代理完成,才能实现同步。
- 增量快照策略:支持按天、按周、按月自定义策略,在分发服务器生成增量快照。
图4 创建发布
图5 设置项目属性
- 查看已创建的发布。
图6 查看发布
- 添加订阅功能,请参见添加订阅服务器。
- 单击“查看监控”,查看“数据更改延迟后时长”和“事务数”监控数据。
- 选择“更多 > 修改发布”,可以重新选择发布表/字段,以及增量快照策略。
- 选择“更多 > 删除”,删除发布。
添加订阅服务器
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页面。
- 在左侧导航栏选择“发布订阅”。
- 在“发布”页签下,在已创建的发布上,单击“添加订阅”。
- 单击“添加订阅服务器”。
- 在弹出页面,设置订阅服务器信息后,单击“确定”。
RDS for SQL Server支持的发布订阅服务器参考发布订阅服务器兼容矩阵。
服务器来源:云数据库RDS for SQL Server。
- 目标数据库:勾选1个或多个RDS for SQL Server订阅实例及目标数据库,单击同步到右侧,即从当前实例同步数据到已勾选的目标数据库。
当前实例作为发布实例,发布实例与订阅实例需要在同一VPC或建立了对等连接的不同VPC,若不在同一安全组则需配置安全组规则。
- 订阅方式:推送订阅
- 同步策略:选择数据订阅的同步方式,支持按天、按周、按月自定义策略。
图7 添加RDS订阅服务器
服务器来源:其他服务器。
- 填写服务器名称、IP、端口号、登录用户名及密码,以及目标数据库。
- 订阅方式:推送订阅
- 同步策略:选择数据订阅的同步方式,支持按天、按周、按月自定义策略。
图8 添加其他订阅服务器
- 目标数据库:勾选1个或多个RDS for SQL Server订阅实例及目标数据库,单击同步到右侧,即从当前实例同步数据到已勾选的目标数据库。
- 在已创建的发布上,单击订阅数据库列的个数,查看订阅详情。
图9 订阅详情