利用API创建应用有着巨大的优势,但很多时候你并不了解为何/系统设备会“崩溃”,这也是API各大厂商积极提供可用状态页面的原因。
在上周举办的SXSW的音乐节上,研讨会很大程度上都是依靠Twitter API。与会者在做报告时发生“意外”的错误现象,经盘查是因一个错误API导致的。前段时间,Twitter发生了宕机事件,而联合创始人Biz Stone正在参加德克萨斯州的SXSW大会。Twitter出现大规模服务中断,大量用户无论是通过桌面网页、移动网页或移动应用均无法访问网站。
我承认我不敢看Twitter的状态页面,似乎是性能部分被中断了。从上图中我们可以看到3月11号性能部分没有任何信息。
良好的API状态页面
API状态页面应该确保能与开发者沟通,包括当前的、最近的问题。API提供商应该具备以下三点:
其中最为重要的是透明性。如果某家公司的API出现问题了,那么直接受影响的是开发者,接着就是影响所有用户。作为一名开发者,我想了解这方面的信息,因为这将有助于我寻找解决方案。前提是只有掌握有用的状态页面信息才能搞清楚该做么做。
其次,良好的状态页面应该主动提供厂商信息。打个比方,我们需要恢复损坏的数据库,此时获取解决方案可能需要花上几个小时而不是几分钟。
一个好的API状态页面应该有着明确的目标,让我们来看看一些最受欢迎的API厂商所使用的策略:
1. 提供状态更新
所有的图表、图形以及图标都非常的显著。信息图是用的,但是从基础层面讲,你应该提供短且清晰的、易于理解的更新状态。最好是利用简单的文本更新列表。即便是小问题,也要张贴出告之用户。
2. 显示当前API的“健康“问题
当开发者进入状态页面时能立即判断是否需要进一步调查。换句话说,此刻的API状态健康吗?
Facebook将当前的页面信息放置在页面中心,包括当前状态以及状态报告,你可以调用这些API。
Stripe的状态页面非常简洁,即便是更新项目也无需加载页面。
Twilio则列出了22个设备当前API状态及以往状态信息。
3. 回顾最近问题或宕机时间
针对透明性和有用性,API赞助商应当提供查看历史API的状态信息。例如,提供早前的24小时细节状态信息可以帮助开发人员诊断出问题。与此同时,通过此前宕机API信息也可预测出潜在的风险。
以下是,Facebook显示最近24小时里平均每小时的响应时间和错误率。
Stripe的数据可以追溯到90天。
GitHub通过七张图表让开发者深入挖掘过去的几天、几周或几个月里API状态。
如果开发者想依赖API创建应用,那么他们需要更多的了解执行细节。良好的API状态页面有助于显示当前的或最近的API健康问题,帮助开发者作出更好的运行决策。
英文出自:Programmableweb