Web services 对外部(web)服务的依赖关系

Web services 对外部(web)服务的依赖关系,web-services,web-applications,web,Web Services,Web Applications,Web,我目前参与了一个项目,我们正在开发一个很大程度上依赖于另一家公司开发的外部服务(某些功能)的大型网站。外部服务偶尔中断,无法提供我们需要的数据。这对我们来说是个大问题,因为对“我们”网站的要求非常高 我们应该如何处理?我们不愿意缓存外部站点的数据以用作“备份”,因为这样我们可能会显示过时或错误的数据。我们还认为,我们不应该试图通过存储外部数据的本地副本来“修补”外部系统中的问题,因为这可能会导致本地数据过时或错误的同步问题 有没有人有过类似的经历?我们如何解决这个问题(或者至少缓解这个问题)?缓

我目前参与了一个项目,我们正在开发一个很大程度上依赖于另一家公司开发的外部服务(某些功能)的大型网站。外部服务偶尔中断,无法提供我们需要的数据。这对我们来说是个大问题,因为对“我们”网站的要求非常高

我们应该如何处理?我们不愿意缓存外部站点的数据以用作“备份”,因为这样我们可能会显示过时或错误的数据。我们还认为,我们不应该试图通过存储外部数据的本地副本来“修补”外部系统中的问题,因为这可能会导致本地数据过时或错误的同步问题


有没有人有过类似的经历?我们如何解决这个问题(或者至少缓解这个问题)?

缓存将是我的首选

这取决于您开发的站点,但您能否缓存所有结果并通知用户这就是您所做的-例如“这在2009年10月8日是准确的-单击此处刷新”

更新:如果不了解更多关于您从web服务获得的数据类型以及您的网站受众的信息,就很难知道建议什么,因为解决方案将在很大程度上取决于这些因素。您需要考虑您的客户,以决定是否可以向他们显示可能过时的数据


如果对Web服务的请求趋于相似,那么需要考虑的一个问题是,缓存可以帮助您实现性能和缩放,也有助于恢复弹性。

< P>在外部资源不可用时,可以使用缓存作为备份机制。通过这种方式,只要服务可用,您就可以使用实时数据,而当服务停止运行时,您就可以挖掘缓存。以某种方式标记数据,使数据的使用者知道数据有多新鲜,这一点很重要


你知道你的需求和要求是什么,根据我所能读到的,数据的新鲜度是至关重要的,但这也影响了你服务的可用性。基于这种理解,如果您可以缓存数据,我肯定会这样做,但仅在需要时将其用作备份

重要的是,我们只显示不太旧的数据(其中“太旧”由产品所有者定义)。我们可能会根据下面的建议来实现缓存机制,以尝试缓解该问题。在我看来,更好的解决方案是修复我们所依赖的系统,但这一决定并不取决于我的团队。我们将尽我们所能提供一些新的数据。谢谢