跳至主要內容
Mysql 高可用

Mysql 高可用

复制

复制是解决系统高可用的常见手段。其思路就是:不要把鸡蛋都放在一个篮子里。

复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主库。主库和备库之 间可以有多种不同的组合方式。

MySQL 支持两种复制方式:基于行的复制和基于语句的复制。这两种方式都是通过在主库上记录 bin log、在备库重放日志的方式来实现异步的数据复制。这意味着:复制过程存在时延,这段时间内,主从数据可能不一致。

复制如何工作


钝悟...大约 5 分钟数据库关系型数据库Mysql数据库关系型数据库Mysql高可用
Redis 哨兵

Redis 哨兵

Redis 2.8 版本,新增了哨兵模式,以支持“自动故障转移”,它是 Redis 的 HA 方案。

Redis 哨兵模式由一个或多个 Sentinel 实例组成 Sentinel 集群,可以监控任意多个主服务器,以及这些主服务器的所有从服务器;并在被监视的主服务器进入下线状态时,自动将下线主服务器的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。

关键词:高可用监控选主故障转移Raft


钝悟...大约 10 分钟数据库KV数据库Redis数据库KV数据库Redis高可用选主故障转移Raft
Redis 集群

Redis 集群

Redis 集群(Redis Cluster) 是 Redis 官方提供的“分布式数据库”方案

Redis Cluster 既然被设计分布式系统,自然需要具备分布式系统的基本特性:伸缩性、高可用、一致性。

  • 伸缩性 - Redis Cluster 通过划分虚拟 hash 槽来进行“分区”,以实现集群的伸缩性。
  • 高可用 - Redis Cluster 采用主从架构,支持“复制”和“自动故障转移”,以保证 Redis Cluster 的高可用。
  • 一致性 - 根据 CAP 理论,Consistency、Availability、Partition tolerance 三者不可兼得。而 Redis Cluster 的选择是 AP,即不保证“强一致性”,尽力达到“最终一致性”。

Redis Cluster 应用了 Raft 协议 协议和 Gossip 协议。

关键词:高可用监控选主故障转移分区RaftGossip


钝悟...大约 16 分钟数据库KV数据库Redis数据库KV数据库Redis高可用选主故障转移集群分区RaftGossip
系统高可用架构

系统高可用架构

高可用架构简介

系统可用性的度量

系统不可用也被称作系统故障,业界通常用多个 9 来衡量系统的可用性。如 QQ 的可用性为 4 个 9,即 99.99% 可用。

网站不可用时间 = 故障修复时间点 - 故障发现时间点
网站年度可用性指标 = (1 - 网站不可用时间/年度总时间) * 100%

钝悟...大约 20 分钟设计架构综合架构高可用