卑微小吴励志写博客第31天。
互联网的“三高”架构
- 高并发
- 高性能
- 高可用
*高可用计算
比如服务器一年中宕机三次,第一次宕机4小时27分15秒,第二次服务器宕机11分36秒,第三次因为重启宕机2分16秒。
4小时27分15秒+11分36秒+2分16秒 = 16867秒
1年 = 3652460*60 = 31536000秒
可用性:(31536000-16867)/31536000 = 99.947%
业界可用性目标是5个9,即99.999%,即服务器年宕机时间低于315秒,即5.25分钟。
主从复制
什么是主从复制
核心工作
master的数据复制到slave中
特征
一个master可以对应多个slave,一个slave只能对应一个master。
职责
- master
写数据
执行写操作时,将出现变化的数据自动同步到slave
读数据(可忽略) - slave
读数据
写数据(禁止)
哨兵模式
哨兵是什么
哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机选择新的master,并将所有的slave连接到新的master上。
哨兵的作用
- 监控
不断的检查master和slave是否正常运行 - 通知(提醒)
当被监控的服务器出现问题时,向其他(哨兵间,客户端)送通知 - 自动故障转移
断开master与slave之间的连接,选取一个slave作为master,将其他slave连接到新的master,并告知客户端新的服务器地址。
注意:哨兵也是一台redis服务器,只是不提供数据服务。
通常哨兵配置数量为单数。
集群
现状问题?
业务发展过程中遇到的峰值瓶颈。
- redis提供的服务OPS可以达到10万/秒,当前业务OPS已经达到20万/秒。
- 内存单击容量达到256G,当前业务内存需求是1T
- 使用集群的方式可以解决这种峰值瓶颈的问题。
集群架构
集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。
集群作用
- 分散单台服务器的访问压力,实现负载均衡
- 分散单台服务器的存储压力,实现可扩展性
- 降低单台服务器宕机带来的业务灾难