美文网首页System Design
系统设计基础5:避免单点故障

系统设计基础5:避免单点故障

作者: MeazZa | 来源:发表于2019-03-20 20:26 被阅读0次

之前我们已经讲了不少关于服务器水平扩展、负载均衡等的内容,本文我们着重介绍一下单点故障相关的内容。

单点故障

一个典型的系统架构图如下所示,服务部署在一台服务器上,所有客户端请求都发送到这台服务器上。

单点架构示意图

如果这台服务器出现故障,将导致所有客户端的请求失败,那么应该如何避免系统设计中可能出现单点故障的问题呢?

解决方法

下图是一个避免单点故障设计的架构图,其中使用到了多种解决方法,以下将展开介绍。

image.png
多服务器部署

原本服务部署在单台服务器上,将它部署同样的版本到多台服务器上。将所有服务器接入到Load Balance的组件,这很像我们之前讲过的内容。Load Balancer也可能出现单点故障,因此同样需要部署在多台服务器上。在Load Balancer之前使用DNS,DNS中记录了请求地址的hostname和多个ip之间的映射,客户端的请求将被转发到任意一个Load Balance服务器上。

主从结构

这里我们关注服务使用到的数据库,它同样是可能出现单点故障的。因此,这里我们采用主从结构,每个对主数据库的修改,将同步地发送到从服务器上。当主服务器出现故障时,由从服务器接替主服务器,确保能够持续提供服务。

多地部署

在实现上述的架构后,系统仍然会出现单点故障。当服务器所在地区的网络中断,或发生紧急灾害时,服务将中断。因此,这套架构需要部署在多地,才能避免地域问题导致的单点故障。

小结

本节主要介绍的避免单点故障的几种方法:多服务器部署、主从结构和多地部署等。各种方法的核心都是将任意一个服务进行冗余部署,避免存在单点,从而解决单点故障的问题。

欢迎大家订阅专题,其中包含了系统设计基础系列的全部文章:System Design

相关文章

  • 系统设计基础5:避免单点故障

    之前我们已经讲了不少关于服务器水平扩展、负载均衡等的内容,本文我们着重介绍一下单点故障相关的内容。 单点故障 一个...

  • 春风十里不如干货送你,2018云片技术开放日北京站在等你

    系统设计如何避免单点故障 大型网站怎样应对高并发的访问挑战 高可用架构在工作中有哪些变态应用 5月12日,以“高可...

  • mysql双主+keepalived

    设计MySQL高可用架构的目的是为了避免单点故障,减少因系统故障或者数据库崩溃所造成的恢复或者停机时间,为企业提供...

  • 架构设计原则

    N+1设计。系统中的每个组件都应做到没有单点故障; 回滚设计。确保系统可以向前兼容,在系统升级时应能有办法回滚版本...

  • Nginx+Keepalived实现站点高可用

    Nginx+Keepalived实现站点高可用 公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台...

  • 高可用系统

    高可用系统设计:1、软硬件冗余,消除单点故障,任何系统都有冗余系统处于standby2、故障检测与恢复,检测故障并...

  • 稳定性工程

    【安全生产指南一-单点故障】 杜绝单点故障:单点故障是指系统中一旦失效,就会让整个系统无法运作的部件。从架构上来说...

  • Zookeeper工作过程详解

    一、Zookeeper工作机制 分布式和集中式系统相比,有很多优势,比如更强的计算能力,存储能力,避免单点故障等问...

  • 学习笔记|《创世学说——游戏系统设计指南》

    目录1.系统策划的基础素养2.培养系统设计能力3.什么是游戏的核心玩法?4.用户体验五要素与游戏设计5.系统设计方...

  • 118由浅入深学网络--STP 的原理与配置

    STP 的来源 在网络规划与整体设计的时候,为了避免单点故障的情况发生,我们会尽量的设置冗余的网络链路。而所谓的单...

网友评论

    本文标题:系统设计基础5:避免单点故障

    本文链接:https://www.haomeiwen.com/subject/npxzmqtx.html