rpo与rto_写给自己看的

当下就是最好的全身心的投入,我就是天空
抓主大框子,我就是天空,看一下就好了 回头在处理
这十二篇文章直接全看完
rpo与rto的概念的文章
文章1
文章2
文章3
文章4
文章5
文章6
文章7
文章8
文章9
文章10
文章11

当下就是最好的全身心的投入,我就是天空
抓主大框子,我就是天空,看一下就好了 回头在处理
下面这是第一篇文章
https://mp.weixin.qq.com/s?__biz=MzU3OTc2MDQxNg==&mid=2247483708&idx=1&sn=465ee4eb9f623429817133aa6f56c712&chksm=fd607973ca17f065ab00d7bdf9049660da6a3f992ba5ff6c9e3e070510adb38bfed9fef34dfa&token=752676190&lang=zh_CN#rd%20%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%E2%80%94%20%E7%89%88%E6%9D%83%E5%A3%B0%E6%98%8E%EF%BC%9A%E6%9C%AC%E6%96%87%E4%B8%BACSDN%E5%8D%9A%E4%B8%BB%E3%80%8Cmaqingbin8888%E3%80%8D%E7%9A%84%E5%8E%9F%E5%88%9B%E6%96%87%E7%AB%A0%EF%BC%8C%E9%81%B5%E5%BE%AA%20CC%204.0%20BY-SA%20%E7%89%88%E6%9D%83%E5%8D%8F%E8%AE%AE%EF%BC%8C%E8%BD%AC%E8%BD%BD%E8%AF%B7%E9%99%84%E4%B8%8A%E5%8E%9F%E6%96%87%E5%87%BA%E5%A4%84%E9%93%BE%E6%8E%A5%E5%8F%8A%E6%9C%AC%E5%A3%B0%E6%98%8E%E3%80%82%20%E5%8E%9F%E6%96%87%E9%93%BE%E6%8E%A5%EF%BC%9Ahttps://blog.csdn.net/maqingbin8888/article/details/102961744
第一章容灾的设计
	a.故障恢复后不丢数据(即RPO为0)跟故障前的数据状态是强一致的,绝对不丢数据,mysql做不到
	b.要么进行磁盘共享
	c.数据库的容灾设计,写策略 WAL机制(Write Ahead Logging)
		c1.这个说的是单机数据库挂机的场景WAL<one>????</one>
		c2.数据库(LGWR进程)在写事务日志时,为了性能也是会先写入一个日志缓存(Log Buffer)
		   logBuffer再写到磁盘,这个动作是否可靠__意思是写磁盘是否可靠<two>????</two>
		   那mysql打开日志文件到底使用的Direct IO 还是Buffered IO 这个要调研一下<undo>????</undo>
	d.复本副制	Replication
		d1.单机挂了,磁盘文件损坏 保证不了rpo=0,这时就要引入一个从来保存一份日志,
				需要你做的就是 你尽量在数据库层面保持从的副本与主的数据事务日志一致,mysql里是通过binlog的同步
		d2.业务上的尽可能的保持一致性是通过双写实现,那是业务层面的容灾
		d3.MySQL的Slave Replication 都是逻辑复制 如果有异常导致备副本数据跟主副本数据不一致时
		   强一致可靠性和可用性之间的取舍:
		   d31.同步写备库 事务日志在备库上落盘成功主库上请求才返回,否则,主库事务失败回滚或者主库降级拒绝服务。这种策略也叫安全最大化
		      这种叫可靠性优先 全部应答,半数以上应答,只有一个应答就可以(解决不了同机房的灾难)<three>????</three>
			 d32.异步写备库
					但是备副本跟主副本就不是强一致。这种策略也叫性能最大化
-----------------------------------------------------
<one>????</one>
WAL机制
a.数据库在修改数据之前都会在日志缓冲区记录块修改的日志,然后再回写到磁盘上
  发生异常的时候只要事务日志没有丢失,它就敢承诺数据库服务恢复后,数据绝对不丢。即RPO为0 单机
-----------------------------------------------------
<two>????</two>
意思是写磁盘是否可靠 Direct IO
提升文件的读写性能,设计了缓存机制(Page Cache和Buffer Cache),而数据库有自己的缓存更懂自己,不需要使用OS的缓存
Direct IO 指直接打开数据文件,而不加载的内核,而Log Buffer 是指数据先写到OS的内核
所以数据库的事务日志打开方式必须使用Direct IO,才可以保证事务日志的绝对安全可靠
-----------------------------------------------------
<three>????</three>
同步保持主从副本的强一致
a.主从的强一致的的风险就是,备挂了,如果主从等待时长是5s,那么5s后从退化,主下次不带他玩了,如果主这时运行一段时间后又挂了,这时数据不会恢复了保证不了rpo=0
	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值