服务容灾

更新日期: 2015-12-12 阅读次数: 6393 分类: 运维

Harry, you cannot claim you are a Facebook engineer if you have never brought the site down!

  • 亲历 Facebook 爆发的 5 年

服务容灾的目标是什么

当单点服务出现故障时,我们可以从容的睡一觉或者吃完饭再处理。

物理层的容灾

  • 去单机
  • 异地部署

分层容灾

经典的三层结构系统

| | 特点 | 请求量 | 常见容灾方案 | | -- | -- | -- | -- | | 接入层 | 透传,无状态 | 大 | LVS, L5, Nginx, HAProxy, DNS | | 应用层 | 可水平拆分为局部状态 | 中 | 1. 增加备机,监控实现自动切换 | | | | | 2. hash 用户标识分服处理 | | | | | 3. 双机互备, 负载均衡 | | 数据层 | 全局状态 | 小 | | |

可选方案

应用层双机互备

Simple is Better

容灾的架构设计不应太复杂,因为部署的人员与设计的人员可能不是同一个人,如果过于复杂,可能会出现部署上的人为失误。

使用 keepalived 实现主备的切换

keepalived 的实现原理,主机和备机都运行 keepalived 后台服务,主机不断发送消息给备机,当备机接收不到时,则认为主机异常,接管主机的虚拟 IP。

参考

爱评论不评论

近期节日

2020年06月05日 世界环境日
2020年06月05日 芒种
2020年06月06日 全国爱眼日
2020年06月11日 中国人口日
2020年06月20日 世界难民日
2020年06月21日 父亲节
2020年06月21日 夏至
2020年06月22日 中国儿童慈善活动日
2020年06月23日 国际奥林匹克日
2020年06月25日 全国土地日
2020年06月25日 端午节
2020年06月26日 国际禁毒日
查看更多节日