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

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); 
    }
  });
}

僞代碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章