利用API創(chuàng)建應(yīng)用有著巨大的優(yōu)勢,但很多時(shí)候你并不了解為何/系統(tǒng)設(shè)備會“崩潰”,這也是API各大廠商積極提供可用狀態(tài)頁面的原因。 在上周舉辦的SXSW的音樂節(jié)上,研討會很大程度上都是依靠Twitter API。與會者在做報(bào)告時(shí)發(fā)生“意外”的錯誤現(xiàn)象,經(jīng)盤查是因一
利用API創(chuàng)建應(yīng)用有著巨大的優(yōu)勢,但很多時(shí)候你并不了解為何/系統(tǒng)設(shè)備會“崩潰”,這也是API各大廠商積極提供可用狀態(tài)頁面的原因。
在上周舉辦的SXSW的音樂節(jié)上,研討會很大程度上都是依靠Twitter API。與會者在做報(bào)告時(shí)發(fā)生“意外”的錯誤現(xiàn)象,經(jīng)盤查是因一個(gè)錯誤API導(dǎo)致的。前段時(shí)間,Twitter發(fā)生了宕機(jī)事件,而聯(lián)合創(chuàng)始人Biz Stone正在參加德克薩斯州的SXSW大會。Twitter出現(xiàn)大規(guī)模服務(wù)中斷,大量用戶無論是通過桌面網(wǎng)頁、移動網(wǎng)頁或移動應(yīng)用均無法訪問網(wǎng)站。
我承認(rèn)我不敢看Twitter的狀態(tài)頁面,似乎是性能部分被中斷了。從上圖中我們可以看到3月11號性能部分沒有任何信息。
良好的API狀態(tài)頁面
API狀態(tài)頁面應(yīng)該確保能與開發(fā)者溝通,包括當(dāng)前的、最近的問題。API提供商應(yīng)該具備以下三點(diǎn):
其中最為重要的是透明性。如果某家公司的API出現(xiàn)問題了,那么直接受影響的是開發(fā)者,接著就是影響所有用戶。作為一名開發(fā)者,我想了解這方面的信息,因?yàn)檫@將有助于我尋找解決方案。前提是只有掌握有用的狀態(tài)頁面信息才能搞清楚該做么做。
其次,良好的狀態(tài)頁面應(yīng)該主動提供廠商信息。打個(gè)比方,我們需要恢復(fù)損壞的數(shù)據(jù)庫,此時(shí)獲取解決方案可能需要花上幾個(gè)小時(shí)而不是幾分鐘。
一個(gè)好的API狀態(tài)頁面應(yīng)該有著明確的目標(biāo),讓我們來看看一些最受歡迎的API廠商所使用的策略:
1. 提供狀態(tài)更新
所有的圖表、圖形以及圖標(biāo)都非常的顯著。信息圖是用的,但是從基礎(chǔ)層面講,你應(yīng)該提供短且清晰的、易于理解的更新狀態(tài)。最好是利用簡單的文本更新列表。即便是小問題,也要張貼出告之用戶。
2. 顯示當(dāng)前API的“健康“問題
當(dāng)開發(fā)者進(jìn)入狀態(tài)頁面時(shí)能立即判斷是否需要進(jìn)一步調(diào)查。換句話說,此刻的API狀態(tài)健康嗎?
Facebook將當(dāng)前的頁面信息放置在頁面中心,包括當(dāng)前狀態(tài)以及狀態(tài)報(bào)告,你可以調(diào)用這些API。
Stripe的狀態(tài)頁面非常簡潔,即便是更新項(xiàng)目也無需加載頁面。
Twilio則列出了22個(gè)設(shè)備當(dāng)前API狀態(tài)及以往狀態(tài)信息。
3. 回顧最近問題或宕機(jī)時(shí)間
針對透明性和有用性,API贊助商應(yīng)當(dāng)提供查看歷史API的狀態(tài)信息。例如,提供早前的24小時(shí)細(xì)節(jié)狀態(tài)信息可以幫助開發(fā)人員診斷出問題。與此同時(shí),通過此前宕機(jī)API信息也可預(yù)測出潛在的風(fēng)險(xiǎn)。
以下是,F(xiàn)acebook顯示最近24小時(shí)里平均每小時(shí)的響應(yīng)時(shí)間和錯誤率。
Stripe的數(shù)據(jù)可以追溯到90天。
GitHub通過七張圖表讓開發(fā)者深入挖掘過去的幾天、幾周或幾個(gè)月里API狀態(tài)。
如果開發(fā)者想依賴API創(chuàng)建應(yīng)用,那么他們需要更多的了解執(zhí)行細(xì)節(jié)。良好的API狀態(tài)頁面有助于顯示當(dāng)前的或最近的API健康問題,幫助開發(fā)者作出更好的運(yùn)行決策。
英文出自:Programmableweb
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com