与AWS交流了解到的新方案,没有实际试过,所以本篇主要是些原理
一、 TAZ的含义
TAZ实际上就是 3 AZ,扩展一些就是 Multi-AZ DB Cluster,即在3个可用区部署DB,具备两个只读备用实例。
二、 TAZ的主要用途
1. 近0停机的小版本升级
其原理是滚动升级,先升级两个只读实例,进行主从切换,升级切换后的新只读实例。
注意这里支持的是小版本升级,大版本升级暂时还没有实现。
从图中可以看到,单纯的failover耗时在35秒内,这部分主要是DNS处理的时长,因此优化方案可以再结合RDS Proxy,能将停机时间缩短至1秒内。
2. 性能提升
这个很好理解,因为多了一个节点
3. 提高容错
也是因为多了一个节点,采用3份数据成功写入2份即可的方式,可以容忍一份数据写入异常。
三、 结合RDS Proxy的TAZ小版本升级
具体搭建方法参考:Perform minor version upgrades with a downtime of 1 second or less with Amazon RDS Proxy and Amazon RDS Multi-AZ deployments with two readable standbys | AWS Database Blog
参考
《RDS版本升级指南.pdf》
《Amazon RDS 近零停机解决方案 TAZ.pdf》