我被问到一个面试问题(应聘Ruby on Rails Web开发人员的职位),内容是设计一个后端来检测第三方API是否“启动并运行”。实际上,我不知道这个问题指的是什么(面试官急着离开,这是可以理解的),那么你们知道我如何研究这一领域并了解更多吗?
发布于 2015-07-10 04:46:11
看一下"circuit breaker"模式。
基本思想是,您尝试进行第三方API调用,但有时API调用会因意外错误而失败。如果这些错误发生得足够频繁,那么您就可以推断API已经“关闭”了。
当API关闭时,您不能使用它。取而代之的是,你可以优雅地绕过API的缺失,可能是通过排队或者向你的用户显示一条消息,比如“我们的应用程序的这一部分目前不可用”。重要的一点是,你不能仅仅因为一个API宕机就允许整个应用程序崩溃。
从那时起,您假设API仍然关闭,直到一段时间过去,在这一点上您开始尝试再次使用它。如果API调用成功并且没有错误,那么您可以推断API现在是"up“的。
将这种模式形式化的一个有趣的Ruby gem被称为“红绿灯”。
https://stackoverflow.com/questions/31327745
复制相似问题