您需要關(guān)注 API 性能監(jiān)控的五個(gè)原因
連通性是如此令人生畏。到目前為止,我們都已經(jīng)習(xí)慣了讓世界觸手可及的即時(shí)連接。借助臺(tái)式機(jī)和設(shè)備,我們可以隨時(shí)隨地購(gòu)買、郵寄和挑選任何東西。
但它是如何發(fā)生的呢?不同設(shè)備中的不同應(yīng)用如何相互連接?只需點(diǎn)擊幾下,我們就可以下訂單、計(jì)劃假期、進(jìn)行預(yù)訂等。
API——應(yīng)用程序編程接口——現(xiàn)代世界的無(wú)名英雄,經(jīng)常被低估。
什么是 API?
API 是在線連接的構(gòu)建塊。它們是多個(gè)應(yīng)用程序、數(shù)據(jù)和設(shè)備相互交互的媒介。簡(jiǎn)單地說(shuō),API 是一個(gè)信使,它接受請(qǐng)求并告訴系統(tǒng)你想做什么,然后將響應(yīng)返回給用戶。為每個(gè) API 起草文檔,包括有關(guān)信息如何在兩個(gè)系統(tǒng)之間傳輸?shù)囊?guī)范。
為什么 API 很重要?
API 可以公開(kāi)地與第三方應(yīng)用程序交互。最終,擴(kuò)大組織業(yè)務(wù)的范圍。因此,當(dāng)我們通過(guò)“Bookmyshow.com”訂票時(shí),我們會(huì)填寫(xiě)有關(guān)我們計(jì)劃觀看的電影的詳細(xì)信息,例如:
- 電影名稱
- 地區(qū)
- 3D/2D
- 語(yǔ)言
這些詳細(xì)信息由 API 獲取,并傳送到與不同電影院關(guān)聯(lián)的服務(wù)器,以從多個(gè)第三方服務(wù)器帶回收集到的響應(yīng)。為用戶選擇最適合的影院提供便利。這就是不同應(yīng)用程序相互交互的方式。
而不是制作大型應(yīng)用程序并通過(guò)其中的代碼添加更多功能。當(dāng)今時(shí)代需要 微服務(wù)架構(gòu), 在這種架構(gòu)中,我們創(chuàng)建多個(gè)具有定義明確的接口的獨(dú)立模塊,然后將它們組合起來(lái)以制作可擴(kuò)展、可測(cè)試的產(chǎn)品。在微服務(wù)架構(gòu)的幫助下,可能需要一年才能交付的產(chǎn)品或軟件現(xiàn)在可以在幾周內(nèi)交付。
- API作為微服務(wù)架構(gòu)的必需品??紤]一個(gè)在單一引擎蓋下向最終用戶提供音樂(lè)、購(gòu)物和賬單支付服務(wù)的應(yīng)用程序。用戶需要登錄應(yīng)用程序并選擇要消費(fèi)的服務(wù)。需要 API 來(lái)為此類應(yīng)用程序協(xié)作不同的服務(wù),從而有助于整體增強(qiáng)的用戶體驗(yàn)。
- API 還為數(shù)據(jù)提供了額外的安全層。用戶數(shù)據(jù)不會(huì)過(guò)度暴露給服務(wù)器:服務(wù)器數(shù)據(jù)也不會(huì)過(guò)度暴露給用戶。比如說(shuō),就電影而言,API 告訴服務(wù)器用戶想看什么,然后用戶必須提供什么才能兌換服務(wù)。最終,您可以觀看您的電影,并且相應(yīng)地向服務(wù)提供商記賬。
API 性能監(jiān)控和應(yīng)用程序性能監(jiān)控的區(qū)別
這兩個(gè)術(shù)語(yǔ)聽(tīng)起來(lái)很相似,但它們對(duì)整個(gè)應(yīng)用程序連接性執(zhí)行不同的檢查:
- 應(yīng)用程序性能監(jiān)控:對(duì)于有關(guān)應(yīng)用程序在整體方面的執(zhí)行情況的高級(jí)分析是必需的。 它有助于對(duì)軟件的內(nèi)部連接進(jìn)行內(nèi)部檢查。 以下是必須監(jiān)控的關(guān)鍵數(shù)據(jù)因素:
- 服務(wù)器負(fù)載
- 用戶采用
- 市場(chǎng)份額
- 下載
- 潛伏
- 錯(cuò)誤記錄
- API性能監(jiān)控:需要檢查服務(wù)器外部是否存在瓶頸;它可以在云端或負(fù)載平衡服務(wù)中。這些瓶頸不依賴于您的應(yīng)用程序性能監(jiān)控,但仍然被認(rèn)為是災(zāi)難性的,因?yàn)樗鼈兛赡軙?huì)中斷最終用戶的服務(wù)。它有助于檢查軟件的外部連接性,有助于其核心功能:
- 后臺(tái)業(yè)務(wù)操作
- 警報(bào)操作
- 網(wǎng)頁(yè)服務(wù)
為什么需要 API 性能監(jiān)控?
1.功能
隨著現(xiàn)代敏捷實(shí)踐的出現(xiàn),組織正在通過(guò)監(jiān)控響應(yīng)采用開(kāi)發(fā)、測(cè)試、交付和維護(hù)的良性循環(huán)。將 API 監(jiān)控作為實(shí)踐的一部分是不可或缺的。必須維護(hù)與功能測(cè)試的適當(dāng)和最新版本相關(guān)的腳本,以確保為最終用戶提供完美的服務(wù)體驗(yàn)。簡(jiǎn)而言之,如果您的 API 走下坡路,您的應(yīng)用程序也會(huì)隨之走下坡路。例如,2016 年 1 月,Twitter API 遭遇了全球范圍內(nèi)的中斷。這次中斷持續(xù)了一個(gè)多小時(shí),在此期間,它影響了數(shù)千個(gè)網(wǎng)站和應(yīng)用程序。
2.性能
如果組織忽視徹底理解每個(gè) API 調(diào)用背后涉及的過(guò)程,他們就會(huì)對(duì)性能計(jì)算持開(kāi)放態(tài)度。此外,API 監(jiān)控有助于確認(rèn)哪些 API 性能更好,以及如何改進(jìn)性能顯示較弱的 API。
3. 速度/反應(yīng)能力
用戶可以在性能監(jiān)控工具中指定關(guān)鍵的 API 調(diào)用。設(shè)置他們的閾值(可接受的響應(yīng)時(shí)間)以確保他們?cè)陬A(yù)期響應(yīng)時(shí)間惡化時(shí)得到提醒。
4.可用性
借助監(jiān)控,我們可以了解我們的應(yīng)用程序托管的所有服務(wù)是否可以 24×7 訪問(wèn)。
為什么在可以測(cè)試時(shí)監(jiān)控 API?
好吧,考慮到涉及的大量多步驟,API 測(cè)試可以是高度復(fù)合的。這在進(jìn)行測(cè)試所需的頻率方面產(chǎn)生了問(wèn)題。這就是監(jiān)控的用武之地!允許每小時(shí)帶檢查有關(guān)不可或缺的方面。幫助我們專注于對(duì)我們組織最重要的事情。
如何監(jiān)控 API 性能
- 識(shí)別您可靠的 API——識(shí)別您使用的 API,無(wú)論它們是第三方 API 還是合作伙伴 API。內(nèi)部連接還是外部連接?
- 理解功能和交易用例,以促進(jìn)托管服務(wù)的透明度——提高性能和 MTTR(平均修復(fù)時(shí)間)。
- 意識(shí)到您是否有需要監(jiān)控的測(cè)試用例。您是否有需要更改的現(xiàn)有測(cè)試用例,或者是否迫切需要開(kāi)發(fā)新的測(cè)試用例?
- 了解正確的工具——API 性能監(jiān)控高度依賴于所使用的工具。您需要一個(gè)直觀、用戶友好、結(jié)果優(yōu)化的工具,其中包含所有內(nèi)容。
執(zhí)行 API 性能測(cè)試的一些眾所周知的平臺(tái)是:
- CA Technologies(現(xiàn)在的Broadcom Inc.)
- 警報(bào)網(wǎng)站
- 嚴(yán)格
- 運(yùn)行范圍
另一個(gè)需要注意的因素是 API 瀏覽器兼容性,以了解您的 API 對(duì)不同瀏覽器的支持程度。要了解有關(guān)此主題的更多信息,請(qǐng)關(guān)注我們關(guān)于“API 和瀏覽器兼容性”的博客。
結(jié)論
API 性能監(jiān)控是現(xiàn)代的需要,它可以讓您檢查產(chǎn)品托管服務(wù)的內(nèi)部和外部影響。不是每個(gè)人都關(guān)心 API,但我們很高興您這樣做了!希望本文能幫助您擴(kuò)展對(duì)該主題的理解。干杯!