mysql-BLACKHOLE

mysql BLACKHOLE存储引擎,任何发送到该引擎的数据都会被抛弃,语句执行结果为空。

mysql> CREATE TABLE test(i INT, c CHAR(10)) ENGINE = BLACKHOLE;

Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO test VALUES(1,'record one'),(2,'record two');

Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM test;

Empty set (0.00 sec)

在mysql的大规模集群架构应用中,当出现多台从库都连接到某一主库上进行binlog复制,主库在承担高并发写入压力下,还需要开启多个线程与从库进行通信,产生大量的IO操作,对主库造成过大压力。

为了达到集群架构负载均衡的初衷,可以在主库与从库之间建立一个单独的BLACKHOLE节点,该节点负责1、从主库复制binlog;2、开启多线程把binlog发送给各个从库节点。BLACKHOLE节点从主库复制binlog之后执行,并不存储数据,只保留binglog日志。

mysql的集群架构设计中,采用了流水线模式,把与多个从库通信的工作独立出来,设置一个单独的BLACKHOLE节点专注与向从库复制binlog工作,把复制工作从主库中剥离出来,减轻主库IO压力。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值