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


一:主从复制
原理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进缓存,然后再接受外部访问

相关推荐: Log4Qt快速入门——Log4Qt日志格式化源码解析

Log4Qt提供了多种Layout对象,用于格式化日志输出,指定日志级别、线程名称、Logger名称、日期时间等信息。Layout类是Log4Qt API中的抽象类。PatternLayout:根据一个模式字符串输出日志事件;SimpleLayout:输出日志…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/05 22:43
下一篇 05/05 22:43