开发者学堂课程【云数据库选型及架构设计:容灾、扩展场景架构设计】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/596/detail/8560
容灾、扩展场景架构设计
内容介绍:
一.容灾场景
二.拓展场景
三.双活架构
一.容灾场景
1.复制
(1)异步复制
(2)半同步复制(双通道复制)
优点:双通道复制对完整性和安全性会有更好的保证。
2.两地N中心
优点:
所有的数据都是通过高速的光纤网络同步,能够很好的降低数据传输的时延,无论是发生实例、机房还是地域故障,都可以快速地实现自动化的切换,从而保证业务的连续性。
3.双节点服务可用性
(1)机房级
单可用区无法抵御机房故障
多可用区可主备切换,切换逻辑同实例级故障。
优点:当某一个主实例发生故障的时候,可以切换到另外机房的备用实例上,自动化的实现切换,从而保证业务的可用性。
(2)地域级
地域故障,异地实备实例可继承承载任务
用户获知数据同步情况,并自行配置连接。
优点:不会增加任何数据复制的费用,从而在总体成本上非常可控的,且在数据台上会集成演练的功能。
二.拓展场景
1.只读实例
优点:让业务很多存读的工作都直接在只读实例上进行操作,从而降低主实例的使用负载。
2.读写分离
读写分离地址,即连即用,无需修改
Proxy 链路原生支持,无额外组件增加延迟
实时健康检查,宏机自动切换,提升可用性
优点:如果主实例发生故障,那么 Proxy 层会做一些自动化的切换,从而提升整个数据库的可用性。
3.MySQL 横向拓展
优点:可以很好的满足在高并发场景下一些高性能的业务需求。
三.双活架构
1.MySQL
通过数据传输 DTS 实现同步
修改应用连接切换
DTS 支持 MySQL 双向同步
DTS 支持冲突检查和处理
2.Redis
3.MongoDB
用户端保证同一数据不会在两端写入
通过 BLS 互相同步 Qplog 数据
加入 DID 解决环形复制
单节点实例和分片集群实例暂不支持云上灾备和多活
BLS Manager:中心控制模块,负责 Collector、Recelver 的调度和监控等任务。
BLS Collector:数据采集模块,负责从源 MongoDB 数据库拉取 Oplog 数据,然后发送到 kafka 通道。
BLS Recelver:数据回放模块,负责从 kafka 通道中获取数据,然后写入目的端MongoDB 的数据库。