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

一:主从复制

从网站建设到定制行业解决方案,为提供成都网站建设、网站制作服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联公司将不断加快创新步伐,提供优质的建站服务。

原理

  • 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进缓存,然后再接受外部访问


分享题目:主从复制、读写分离、分库分表
本文地址:http://hbruida.cn/article/gdecpi.html