编程知识 cdmana.com

【11月10日】Redis 主从复制技术

(Remind) MySQL 主从复制的方式

MySQL 数据库支持的主从复制方式如下:

  • 异步复制(Asynchronous replication)

    MySQL 默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返回给客户端,并不关心从库是否已经接受并处理。这样就会有一个问题,主库如果宕机,会导致数据丢失。

  • 全同步复制(Fully synchronous replication)

    指当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端。因为需要等待所有从库执行完该事物才能返回,所以全同步复制的性能必然会收到严重的影响。

  • 半同步复制(Semisynchronous replication)

    介于异步复制和全同步之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库收到并写到 relay log 中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性。



  • 主从复制的优势 - 读写分离

    通过读写分离操作,可以实现服务器负载均衡,提升数据库的并发访问能力

    • 读写分离在读数据时存在一定的延时问题
    • 读写分离非常适合查询数据库操作频繁地系统
  • 主从复制的优势 - 异地备份

  • 主从复制的优势 - 故障容灾

    当主数据库出现问题时,数据库管理员可以立即让从数据库代替主数据库,快速恢复系统服务



Redis 主从复制概念

  • Redis 支持主从复制,而且支持一主多从以及多级从结构(与 MySQL 一样)
  • Redis 主从复制一是为了纯粹的冗余备份,二是为了提升读性能(读写分离)
  • Redis 主从复制是异步进行的(主从同步不会影响主逻辑,也不会降低 Redis 的处理性能)
  • 生产一边关闭主服务器的持久化功能,只让从服务器持久化(提高主服务器的处理性能)
  • 生产一般从服务器被设置为只能模式(避免从服务器的数据被误

Redis 主从复制流程图


版权声明
本文为[程序猿欧文]所创,转载请带上原文链接,感谢
https://my.oschina.net/mikeowen/blog/4714936

Scroll to Top