我们有一个配置缓存ttl为2分钟的API代理。如果后端发生故障,是否可以配置apigee来提供过时的缓存内容,以便我们的最终用户看不到错误?
我们希望我们的最终用户获得陈旧缓存内容的副本(即使在配置的2分钟ttl到期后),而不是在后端发生故障时出错。
如果可能的话,有人可以指点相关文件,我将不胜感激。
答案 0 :(得分:0)
我能想到的选择是
使用Target Endpoint properties处理特定错误代码,不将错误代码视为错误,并让流程为缓存数据提供服务。
使用故障流来处理错误并让故障流提供所需的数据。
答案 1 :(得分:0)
一旦缓存TTL过期,缓存的数据就不再可访问,即使是#34; stale"数据。您可以考虑使用像Apigee BaaS这样的东西将数据存储为"缓存"使用适当的TTL,以便在后端启动时,您可以提供来自BaaS的最后检索数据,或者您可以扩展缓存TTL,以便即使后端已关闭,数据仍然可用。