Ruby on rails 检测API是否为;“向上”;或;“向下”;(Ruby on Rails)

Ruby on rails 检测API是否为;“向上”;或;“向下”;(Ruby on Rails),ruby-on-rails,rails-api,Ruby On Rails,Rails Api,我被问到一个面试问题(针对Ruby on Rails Web开发人员的职位),关于设计一个检测第三方API是否“启动并运行”的后端。我实际上不知道这个问题指的是什么(面试官急于离开,这是可以理解的),你们知道我该如何研究这个领域并了解更多吗 看看这个图案 基本思想是尝试进行第三方API调用,有时该API调用会失败并出现意外错误。如果这些错误发生得足够频繁,那么您可以推断API处于“关闭”状态 当API关闭时,您不使用它。相反,您可以通过排队或向用户显示消息(例如,“我们的应用程序的这部分当前不可

我被问到一个面试问题(针对Ruby on Rails Web开发人员的职位),关于设计一个检测第三方API是否“启动并运行”的后端。我实际上不知道这个问题指的是什么(面试官急于离开,这是可以理解的),你们知道我该如何研究这个领域并了解更多吗

看看这个图案

基本思想是尝试进行第三方API调用,有时该API调用会失败并出现意外错误。如果这些错误发生得足够频繁,那么您可以推断API处于“关闭”状态

当API关闭时,您不使用它。相反,您可以通过排队或向用户显示消息(例如,“我们的应用程序的这部分当前不可用”)来优雅地解决缺少该API的问题。重要的一点是,你不允许你的整个应用程序崩溃仅仅因为一个API关闭

从那时起,您假设API仍然处于关闭状态,直到经过一定时间,此时您开始再次尝试使用它。如果API调用成功且没有错误,则可以推断API现在处于“启动”状态

一个有趣的Ruby宝石将这种模式形式化,称为“stoplight”

看看这个图案

基本思想是尝试进行第三方API调用,有时该API调用会失败并出现意外错误。如果这些错误发生得足够频繁,那么您可以推断API处于“关闭”状态

当API关闭时,您不使用它。相反,您可以通过排队或向用户显示消息(例如,“我们的应用程序的这部分当前不可用”)来优雅地解决缺少该API的问题。重要的一点是,你不允许你的整个应用程序崩溃仅仅因为一个API关闭

从那时起,您假设API仍然处于关闭状态,直到经过一定时间,此时您开始再次尝试使用它。如果API调用成功且没有错误,则可以推断API现在处于“启动”状态

一个有趣的Ruby宝石将这种模式形式化,称为“stoplight”

看看这个图案

基本思想是尝试进行第三方API调用,有时该API调用会失败并出现意外错误。如果这些错误发生得足够频繁,那么您可以推断API处于“关闭”状态

当API关闭时,您不使用它。相反,您可以通过排队或向用户显示消息(例如,“我们的应用程序的这部分当前不可用”)来优雅地解决缺少该API的问题。重要的一点是,你不允许你的整个应用程序崩溃仅仅因为一个API关闭

从那时起,您假设API仍然处于关闭状态,直到经过一定时间,此时您开始再次尝试使用它。如果API调用成功且没有错误,则可以推断API现在处于“启动”状态

一个有趣的Ruby宝石将这种模式形式化,称为“stoplight”

看看这个图案

基本思想是尝试进行第三方API调用,有时该API调用会失败并出现意外错误。如果这些错误发生得足够频繁,那么您可以推断API处于“关闭”状态

当API关闭时,您不使用它。相反,您可以通过排队或向用户显示消息(例如,“我们的应用程序的这部分当前不可用”)来优雅地解决缺少该API的问题。重要的一点是,你不允许你的整个应用程序崩溃仅仅因为一个API关闭

从那时起,您假设API仍然处于关闭状态,直到经过一定时间,此时您开始再次尝试使用它。如果API调用成功且没有错误,则可以推断API现在处于“启动”状态

一个有趣的Ruby宝石将这种模式形式化,称为“stoplight”


您可能只需发出请求并检查返回的状态是否为200,他们可能指的是“面向服务的体系结构”(SOA)。我记得Rails中有一个数据库表(其中一列是URL字符串)和几个类。很抱歉,这一点都不具体,我真希望我能拍下他的设计方案的手机快照!我将研究一下您的建议。您可能只需发出请求并检查返回的状态是否为200他们可能指的是“面向服务的体系结构”(SOA)。我记得Rails中有一个数据库表(其中一列是URL字符串)和一些类。很抱歉,这一点都不具体,我真希望我能拍下他的设计方案的手机快照!我将研究一下您的建议。您可能只需发出请求并检查返回的状态是否为200他们可能指的是“面向服务的体系结构”(SOA)。我记得Rails中有一个数据库表(其中一列是URL字符串)和一些类。很抱歉,这一点都不具体,我真希望我能拍下他的设计方案的手机快照!我将研究一下您的建议。您可能只需发出请求并检查返回的状态是否为200他们可能指的是“面向服务的体系结构”(SOA)。我记得Rails中有一个数据库表(其中一列是URL字符串)和一些类。很抱歉,这一点都不具体,我真希望我能拍下他的设计方案的手机快照!我会研究一下你的建议。