配置分布式同步
如何配置分布式同步,以便任何可用的代理端点都可以管理同步流量。
复制的数据库,例如Replica Of和Active-Active数据库,使用代理端点来与其他参与集群上的数据库同步数据库更改。
为了提高同步流量的吞吐量并降低延迟,您可以配置一个复制数据库以使用分布式同步,其中任何可用的代理端点都可以管理同步流量。
默认情况下,每个数据库都有一个代理端点,用于管理与数据库分片的客户端和同步通信,该代理端点用于数据库同步。这被称为集中式同步。
要准备一个数据库以使用分布式同步,首先必须确保定义了数据库代理策略,以便每个节点都有一个代理端点,或者每个主(主)分片都有一个代理端点。在您为数据库配置了多个代理之后,您可以配置数据库同步以使用分布式同步。
配置分布式同步
注意:
您可以在以下rladmin
命令中使用数据库名称代替db:
。配置分布式同步:
-
要检查数据库的代理策略,请运行:
rladmin status
状态命令的输出显示了集群上的端点列表以及端点的代理策略。
ENDPOINTS: DB:ID NAME ID NODE ROLE SSL db:1 db endpoint:1:1 node:1 all-master-shards No
如果代理策略(也称为角色)是
single
,请根据您的需求使用以下命令将策略配置为all-nodes
或all-master-shards
:rladmin bind db db:<ID> endpoint <endpoint id> policy <all-master-shards|all-nodes>
-
要配置数据库以使用分布式同步,请运行:
rladmin tune db db:<ID> syncer_mode distributed
要切换回集中同步,请运行:
rladmin tune db db:<ID> syncer_mode centralized
验证数据库同步
使用 rladmin
来验证数据库同步角色:
rladmin info db db:<ID>
当前数据库角色报告为syncer_mode
值:
$ rladmin info db db:<ID>
db:<ID> [<db_name>]:
// (Other settings removed)
syncer_mode: centralized