为了解决主从复制延迟问题,在MySQL 5.7中,引入了基于组提交的并行复制(Enhanced Multi-threaded Slaves)
主要由以下参数控制,
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8
slave_preserve_commit_order=on
master_info_repository=TABLE
sync-master-info=1
relay_log_info_repository=TABLE
sync-relay-log=1
sync-relay-log-info=1
relay_log_recovery=ON
slave-parallel-workers
设置用于并行执行复制事务的应用程序线程数。将此变量设置为大于0的数字将创建具有此应用线程数量的多线程slave。设置为0(默认值)时,并行执行被禁用,并且slave使用单个应用程序线程。设置 slave-parallel-workers没有立即生效。变量的状态适用于所有后续start slave语句。
多线程副本通过使用协调器线程和此变量配置的应用程序线程数来提供并行执行。事务在应用程序线程之间的分配方式由slave_parallel_type配置。slave并行应用的事务可能会无序提交,除非slave_preserve_commit_order=1。因此,检查最近执行的事务并不能保证源中所有以前的事务都已在slave上执行。这对使用多线程slave时的日志记录和恢复有影响。
slave-parallel-type
当使用多线程副本(slave_parallel_workers大于0)时,此变量指定用于决定允许哪些事务在副本上并行执行的策略。该变量对未启用多线程

为解决主从复制延迟问题,MySQL 5.7引入基于组提交的并行复制,由多个参数控制。如slave-parallel-workers设置应用程序线程数,slave-parallel-type指定并行执行策略,slave_preserve_commit_order确保事务提交顺序。这些参数对多线程副本的日志记录和恢复有影响。
最低0.47元/天 解锁文章
2485

被折叠的 条评论
为什么被折叠?



