首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在客户端实现REST服务器的容错?

如何在客户端实现REST服务器的容错?
EN

Stack Overflow用户
提问于 2014-03-14 09:45:05
回答 1查看 2K关注 0票数 1

我正在开发一个系统,它有一个可以操作它的RESTful web服务(该服务允许所有的CURD操作),以及一个显示系统数据的web客户机(大部分客户端是用jQuery编写的)。在标准操作场景中,我的系统有一个主服务器和至少一个备份服务器,因此至少有两个RESTful web服务。

因此,我的问题是,在我的主服务器崩溃的情况下,如何使一个正在查看主服务器的客户机在没有任何用户操作的情况下查看备份服务器?

EN

回答 1

Stack Overflow用户

发布于 2014-03-14 14:28:59

最好的选择是让客户机做,绝对不做来处理服务器故障。这不是客户的责任,也不应该是。服务器端技术,如代理服务器和负载平衡器,最适合处理服务器故障。

最常见的方法是放弃“一个主服务器”的思维方式,而是创建一个服务器集群,每个服务器都可以处理任何REST请求。如果REST请求是无状态的(它们应该是无状态的),并且可以路由到集群中的任意服务器,那么服务器的故障可以通过在集群前面使用负载均衡器来处理。

如果负载均衡器检测到一个服务器已经死了,它就会把它从旋转中拉出来。此模型还有助于扩展性,因为您可以通过在该层中旋转更多的服务器并让它们与负载均衡器自动注册来扩展REST服务器层。

您还可以使用DNS将客户端与服务器故障隔离开来。只需将DNS记录更改为当前活动的服务器,并在主服务器关闭时对其进行修改。然而,TTL必须非常低,才能允许这种技术在任何合理的时间内工作。DNS更好地用于处理完整的数据中心故障,而不是节点故障,但它是一个选项,尽管相当粗略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22401326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档