温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

主从复制、读写分离、分库分表

发布时间:2020-07-21 16:47:02 来源:网络 阅读:471 作者:爱与梦想 栏目:软件技术

一:主从复制

原理

  • master将改变记录到二进制日志中(Binary log)

  • slave将master的binary log拷贝到它的中继日志(relay log)

    slave开始一个工作线程---I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process,从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。

  • slave重做中继日志中的事件

    SQL线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小

主从复制、读写分离、分库分表


二、读写分离

为啥要读写分离?

  • 读的次数,远超过写的次数。一主多从,主接收写请求,通过复制机制将数据同步到从库,从库会设置只读,防止主从数据不一致。

  • 从库的主要作用是:分担主库的读压力,执行备份任务,故障切换时,能够使用的备库

  • 集中写,零散读,将压力分流。


三、分库分表

  • Sharding,也就是常说的分库分表,通过一定的策略把数据重新分布,主要解决单实例写入压力或容量过大的问题


四、数据预热

  • 把热点数据(用户经常访问的)放到缓存里,减少数据库的压力,Redis缓存服务器(集群)

  • 比如,上线的时候会重启服务,缓存数据就没有了,那么再把数据重新load进缓存,然后再接受外部访问


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI