鍍金池/ 問答/網(wǎng)絡(luò)安全/ 客戶端網(wǎng)絡(luò)接口優(yōu)化,合并接口有沒有時(shí)間延遲,導(dǎo)致失敗的可能性?

客戶端網(wǎng)絡(luò)接口優(yōu)化,合并接口有沒有時(shí)間延遲,導(dǎo)致失敗的可能性?

客戶端網(wǎng)絡(luò)接口優(yōu)化,合并接口有沒有時(shí)間延遲,導(dǎo)致失敗的可能性?

每次進(jìn)入首頁界面,要調(diào)用公司內(nèi)部各個(gè)事業(yè)部的接口,

#pragma mark - 初始化用戶信息
- (void)initUserData
{
    [self get_userInfo];//登錄時(shí)已經(jīng)調(diào)用成功,才能進(jìn)來,所以這里可以不用再調(diào)用
    [self getRule];//獲取單號(hào)規(guī)則
    [self getRealNameArea];//獲取實(shí)名登記的地區(qū)
    [self getAppSystem];
    [self getPunchCardInfo]; // 獲取打卡狀態(tài)
    [self updateCardTypes:nil]; // 獲取實(shí)名證件類型
    [self getWeather];//獲取天氣
    [self getProblemTypes];
    [self getFetch_ad];//廣告
    [self updateSMSCount];//短信模板點(diǎn)擊數(shù)量上傳
    [self updateAddressList:NO failure:^(NSString *failure) {}];//更新省市區(qū)地址

}

這個(gè)作為 iOS 開發(fā)工程師,覺得很不可取。
應(yīng)該做一個(gè)接口合并。

具體,是做一個(gè)網(wǎng)關(guān)。
合并接口,那個(gè)接口的后臺(tái)服務(wù),調(diào)用以上多個(gè)接口,整合數(shù)據(jù),返回給客戶端。

產(chǎn)品說不可能,
因?yàn)檠舆t時(shí)間,
客戶端的接口,是有時(shí)間限制的。
然后上面的多個(gè)時(shí)間接口,也是有時(shí)間限制的。
多包一層,就掛了。
不清楚這是什么邏輯。
不清楚時(shí)間有什么影響。
乍一聽,感覺很有道理的樣子。
怎么破?

產(chǎn)品很有意思。
他還說什么,調(diào)用一個(gè)接口,掛了,就黃了。
調(diào)用多個(gè)接口,掛了兩,還是能夠給用戶一些信息。

回答
編輯回答
苦妄
  • 要看這些接口的關(guān)系,如果這些接口都是從一個(gè)數(shù)據(jù)庫讀東西,一般不會(huì)只失敗一個(gè),比較適合提供一個(gè)總的接口。
  • 如果這些接口的后臺(tái)比較分散,相互比較獨(dú)立,可能會(huì)出現(xiàn)失敗一個(gè)的情況。
  • 還有一個(gè)方案就是允許其中一些信息獲取不到,用一個(gè)默認(rèn)值或者報(bào)錯(cuò)信息替代,后臺(tái)設(shè)置一個(gè)超時(shí)時(shí)間,超時(shí)后就統(tǒng)一返回默認(rèn)值或者錯(cuò)誤信息
2018年4月2日 22:51