開發(fā)者在調(diào)用API過程中往往需要借助一些工具以便創(chuàng)建更加優(yōu)質(zhì)的應(yīng)用,本文我們將分享構(gòu)建API監(jiān)視器的五大實(shí)踐技巧,以饗讀者。
此前, CSDN研發(fā)頻道曾多次報(bào)道過有關(guān)API的文章,這足以說明API的火熱趨勢銳不可當(dāng)。開發(fā)者除了學(xué)會調(diào)用這些API外,還可以基于API創(chuàng)建屬于自己的一款應(yīng)用。在調(diào)用API過程中往往需要借助一些工具以便創(chuàng)建更加優(yōu)質(zhì)的應(yīng)用,作者Ole Lensmar分享了構(gòu)建API監(jiān)視器的五大實(shí)踐技巧,以下為文章譯文:
重用API測試功能在開發(fā)及測試監(jiān)視過程中有幾大優(yōu)勢:
不只是檢查可用性,API 真正的功能是能夠被連續(xù)不斷的審查,在持續(xù)部署實(shí)踐和更改基礎(chǔ)設(shè)施時(shí)為你提供一個(gè)安全的網(wǎng)絡(luò)環(huán)境。
鑒于API功能測試需要設(shè)置維護(hù)并提供相關(guān)的錯誤信息,相比常規(guī)的可用性監(jiān)視器,API監(jiān)視器將為你提供更加詳細(xì)的錯誤信息原因分析。
鑒于你的API功能顯示器模擬預(yù)期的使用場景,其實(shí)際架構(gòu)可告之安全操作小組(Operation Security Team)如何使用API并幫助創(chuàng)建相應(yīng)的API基礎(chǔ)設(shè)施。
很顯然,利用一款工具來創(chuàng)建測試和監(jiān)視在維護(hù)、學(xué)習(xí)、成本等方面開銷是比較低的。
2. 創(chuàng)建模擬用例測試
如果你要集成第三方API(例如 Twitter, Google Maps等),首先,需要確保在提交給用戶之前了解失敗的原因,這一點(diǎn)至關(guān)重要;然后在創(chuàng)建監(jiān)視模擬如何使用你的API。比如,如果你正在使用Flickr API為某個(gè)團(tuán)隊(duì)獲取最新的圖片,請確保你的API監(jiān)視器在做同樣的事情,而不是獲取一組流行的圖片(或者其他易于設(shè)置的東西)。同時(shí),確保能夠監(jiān)控整個(gè)用列流程,不是只監(jiān)控第一個(gè)API請求,而是監(jiān)控所有序列事件——就如同你的應(yīng)用程序在使用它們。
3. 準(zhǔn)備更改數(shù)據(jù)
監(jiān)控第三方API是個(gè)較為棘手的問題。通常你的監(jiān)視器想要驗(yàn)證輸入結(jié)果,比如,你想利用Google Maps APIs來驗(yàn)證每次預(yù)計(jì)來回的坐標(biāo)或路線。然而,谷歌更新坐標(biāo)頻率相當(dāng)頻繁,因此,如果你的監(jiān)視器無需考慮波動性,那么就不存在失敗。這一點(diǎn)同樣適用于路徑規(guī)劃,在一定的時(shí)間內(nèi)也許會因一個(gè)交通堵塞讓谷歌返回不同的意外結(jié)果——這便是你需要準(zhǔn)備的。
換句話說,如果你不打算利用API監(jiān)視器驗(yàn)證返回?cái)?shù)據(jù),那么你打算驗(yàn)證什么來確保其工作需求呢?也許這個(gè)很難回答,我建議你至少要使用防御性數(shù)據(jù)驗(yàn)證;無需太多,試圖專注于那些你認(rèn)為永遠(yuǎn)不會改變的即可。
4. 使用專用賬戶
許多(大多數(shù))API需要你指定某種憑證或者訪問關(guān)鍵字,以確在保監(jiān)視器上顯示你正在使用專用賬戶,無論是你自己的API還是第三方API都如此。究其原因:
對于你自己的API,運(yùn)行監(jiān)視器你和你的用戶具有相同的訪問權(quán)限,因此當(dāng)你發(fā)現(xiàn)問題時(shí)不會影響到超級用戶賬戶。
對于第三方API,它允許收費(fèi)并利用寬帶從你開發(fā)的API使用率中分離出來。
5. 不要過量使用
很多開發(fā)者希望盡可能多的使用產(chǎn)品(免費(fèi)版、商業(yè)版),我勸你不要過分使用API監(jiān)視器。因?yàn)槟悴⒉恍枰O(jiān)控全球的每個(gè)地理位置或者監(jiān)控API每一次的操作輸入。相反,你應(yīng)該確保API監(jiān)視器時(shí)刻處于安全的網(wǎng)絡(luò)來捕捉API熱點(diǎn)(hot-spots)問題并且能夠覆蓋最重要的API業(yè)務(wù)領(lǐng)域。
倘若過量使用將會導(dǎo)致API監(jiān)視器維護(hù)不善,導(dǎo)致啟動失敗。一開始你會忽視,最終將導(dǎo)致其不會向任何人提供任何價(jià)值信息。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。