如何建立一个容错系统,可以在服务器出现故障时立即处理

时间:2014-03-03 13:54:35

标签: networking fault-tolerance

在XYZ.com关闭之前,我注意到我的请求被路由到IP地址192.33.31.xxx,当它出现时我注意到我的请求被路由到IP 50.17.196.xxx,是不是某种服务器切换?是不是在出现故障时动态服务器切换是一种制作容错系统的方法?

1 个答案:

答案 0 :(得分:1)

大多数使用频繁的网站都使用负载均衡器将请求定向到多个服务器。存在非常简单到非常复杂的逻辑,基于该逻辑定义路由。 对于例如逻辑可以是

  1. 一个特定服务器处理请求后,来自同一IP的请求由同一服务器处理或
  2. 使用循环处理请求的方式(在这种情况下IP有角色扮演)
  3. 将请求路由到最少使用的服务器等。
  4. 网站也可以使用以上所有的混合方法。

    现在,如果您访问的网站使用的是基于IP的路由,那么案例就是

    1. 这是您的第一个请求。然后,您将被分配一个服务器来处理您的请求。 (这可以是循环法或其他逻辑(例如,负载较少的服务器)
    2. 现在,负载均衡器可能具有下一个X(比方说100)请求或Y(比如1小时)时间段的逻辑,来自同一IP的所有请求都将路由到同一服务器或两者都
    3. 因此,如果您向XYZ发出请求,它会路由到某个abcd服务器,然后如果您在1小时后再拨打一个电话,或者您拨打第101个电话,您可能会得到另一个处理您请求的服务器。
    4. 现在,如果您的服务器出现故障,那么您可以使用后备机制,例如

      1. 如果服务器在某个预先配置的时间段内没有响应,请从负载均衡器配置中的实时服务器列表中删除该服务器并重新路由该请求。
      2. 或者我们可以有一个闲置的预先运行的服务器(这是昂贵的,但要在每个请求必须服务时必须遵循)。一旦服务器出现故障,请调用此新服务器并为其分配已分配给旧服务器的IP。
      3. 虽然可以为这个问题提供更好,更复杂的解决方案。