前端 大流量的下兜底容灾方案

复制代码
var url = interfaceURL;
var backUrl = interfaceBackURL;
var hardBackUrl = hardDataURL;
var cacheTime = 10day;

Ajax({
  url: url,
  backurl: backUrl,
  success: function(){
    // 缓存数据到本地
    cache(DATAKEY, data, cacheTime);
    show(data);
  },
  error: function(){
    // 请求失败,获取本地缓存数据
    var data = cache(DATAKEY);
    if(data) {
      Reporter.send(/*WARN*/);
      show(data); 
    } else {
      Reporter.send(/*ERROR*/);
      _failed();
    }
  }
});

// 请求硬兜底
function _failed() {
  Ajax({
    url: hadrBackUrl,
    success: function(data){
      // 缓存数据到本地
      cache(DATAKEY, data, cacheTime);
      show(data);
    },
    error: function(){
      Reporter.send(/*SUPER_ERROR*/);
      show(data); 
    }
  });
}
复制代码

伪代码

 

posted @   创业男生  阅读(425)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2017-12-18 Angular2 组件通信
2015-12-18 【转载】虫师『性能测试』文章大汇总
点击右上角即可分享
微信分享提示