每周学习总结 - 架构师培训 6 期
分布式数据库
MySQL主从复制
一主多从
优点
分摊负载
专机专用
便于冷备
高可用
MySQL主主复制
互为镜像 互为backup
为高可用设计
主主失效维护过程
A失效
系统故障,失效检测及切换
切换到B,业务正常
修复A,A作为B的备机
一切恢复正常
MyCat数据库中间件
来自Amoeba,它又来自cobar
构建集群核心思路:数据迁移
构建集群核心实现:一开始每个数据库就部署多个实例,迁移时直接迁移实例
CAP原理
分布式系统(尤其是分布式存储系统)的C(一致性)A(可用性)和P(分区耐受性)不可能同时满足。
一致性:每次读取的数据是最近写入的或者返回一个错误,而不是过期数据;简言之,要么返回错误,要么就是对的数据。
可用性:每次读取都应该返回一个数据,可以不是最新的,但不能返回错误;简言之,要么返回最新的,要么返回旧的,但不是返回错误。
分区耐受性:即使因为网络原因,部分服务器节点之间消息丢失或者延迟,系统依然应该是可用的。
解释:对于一个分布式系统来说,网络失效是一定会存在的,也就是说当分区耐受性必须保证时,那么在可用性和一致性之间必须二选一。当网络分区失效,如果选了一致性,那么系统就可能返回错误,即系统不可用;当选了可用性,那么系统就一不定会返回最新的数据,即系统不一致。
CAP更准确的说法是:在分布式系统必须满足分区耐受性时,可用性和一致性不能同时满足。
评论