成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊如何提升 API 的性能

開發 前端
深思熟慮的設計還必須考慮到 API 的性能,如果 API 不能響應越來越多的請求,不能滿足不斷變化的業務需求,不能按預期運行,良好的設計就毫無意義。

[[438012]]

深思熟慮的設計還必須考慮到 API 的性能,如果 API 不能響應越來越多的請求,不能滿足不斷變化的業務需求,不能按預期運行,良好的設計就毫無意義。

那什么是 API 的性能?

與任何性能一樣,API 性能在很大程度上取決于 API 如何響應它收到的不同類型的請求。

比如:我們有一個客戶端應用程序,顯示客戶的當前訂單。應用程序從 API 獲取訂單詳細信息。但現在,客戶表示,他們想查看所有訂單。因此,我們構建了一個“我的訂單”頁面,用于顯示客戶的所有訂單。這意味著,我們的 API 將返回比以前更多的數據,比以前承受更大的負載。

如何確保我們的 API 能夠返回所有數據而不會出現延遲、服務器端錯誤和過多請求等問題?這里有一些性能提升的最佳實踐:

1、縮小和限制有效負載大小

傳輸數據量大的時候,必然會導致 API 性能下降,而最直接的辦法就是降低 API 傳輸的負載(payload),我們可以使用 GZip 壓縮來縮小有效載荷的大小,可以在 Web API 上使用 Deflate compression?;蛘?,我們可以將 Accept-Encoding 標題更新為 gzip。

2、啟用緩存

緩存是提高 API 性能的最簡單方法之一。如果我們的請求相同的 API,那么該響應的緩存版本有助于避免額外的服務調用或數據庫查詢。

在使用緩存時,您需要選擇合適的緩存淘汰算法,在發生新數據更新時,緩存也要及時更新。

3、提供足夠的網絡帶寬

即使是設計最強大的 API,緩慢的網絡也會降低性能。不可靠的網絡可能會導致停機,解決這個也相對簡單,多花錢投資于適當的網絡基礎設施,這樣我們才能保持理想的性能水平。

此外,如果您有大量后臺進程,請在單獨的線程上運行這些進程,以避免阻止請求。還可以使用鏡像和 CDN在全球不同地區更快地服務請求。

4、限速和防止惡意攻擊

API 可能會受到 DDoS 攻擊,該攻擊可能是惡意和故意的,也可能是工程師調用API在某些本地應用程序的循環中執行時故意的。可以通過測量交易并監控每個 IP 地址或每個SSO/JWT令牌的每秒調用次數,對惡意請求進行屏蔽來避免這種情況。

這種速率限制方法有助于減少對 API 的過度請求,并主動監控和識別可能的惡意活動。

5、嘗試使用 PATCH

工程師們普遍認為,PUT 和 PATCH 操作會產生相同的結果。他們在更新資源方面相似,但他們各自執行更新的方式不同:PUT 操作通過向整個資源發送更新來更新資源。PATCH 操作僅對需要更新的資源應用部分更新。因此 PATCH 調用產生較小的負載,并大規模提高性能。

不過,即使 PATCH 調用可以限制請求大小,也應該注意它不是冪等的。PATCH 可以通過一系列多個調用產生不同的結果。因此,應該仔細和故意地考慮您的應用程序是否使用 PATCH 請求,并確保在需要時它們可以冪等地實現。如果沒有,請使用 PUT 請求。

6、啟用日志記錄、監控和警報

如果你應該從這篇文章中學到一件事,那就是這個!日志記錄、監控和警報是 API 最重要的組成部分,沒有之一。

擁有日志、監控和警報有助于工程師在發生問題之前對其進行診斷和補救。許多API(基于Express/Node、Java、Go)都有預定義的接口來評估以下內容:

  1. /health 
  2.  
  3. /metrics 

如果沒有啟用日志記錄,并且存在潛在問題,將無法跟蹤來源,或特定請求中出現問題的地點。如果沒有啟用監控,將無法從分析角度知道一些問題或錯誤的發生頻率。這將不利于做出合理的解決方案。而且,如果沒有啟用警報,將不知道是否有問題,直到客戶(或更糟糕的是客戶)報告它。這就比較嚴重了!

7、啟用分頁

數據量大時,分頁是個很好的策略,不過分頁也不是銀彈,數據量大時依然會非常慢。一個有效的策略是最多顯示前 100 頁,幾乎沒有人會翻到 100 頁之后。

最后的話 

前后端分離已是常態,對于后端開發來說,最重要的就是設計一個強大的 API,針對 APi 的性能進行適當優化和增強,它可以非常強大,為企業和客戶提供出色的體驗。作為負責任的工程師,我們有責任決定如何以高性能的方式構建我們的 API,這可以幫助我們實現和超越我們的目標。

本文轉載自微信公眾號「Python七號」,可以通過以下二維碼關注。轉載本文請聯系Python七號公眾號。

 

責任編輯:武曉燕 來源: Python七號
相關推薦

2024-02-02 09:21:57

API性能策略

2011-11-30 21:59:41

ibmdwDojo

2023-09-07 11:29:36

API開發

2022-05-04 20:51:28

API設計高性能

2024-08-01 09:58:33

API性能機制

2019-06-11 15:25:03

JSON性能前端

2012-04-13 10:00:04

LINQ

2023-10-18 10:38:53

API

2023-10-11 13:46:26

緩存Web應用程序

2014-07-31 09:28:09

ASP.NETWeb API

2024-08-09 12:11:07

2024-05-23 11:26:02

2020-11-11 10:00:13

NAT性能內核

2024-02-29 18:06:39

HTTP性能優化

2020-10-09 17:43:25

計算機CPU技術

2020-07-21 15:40:55

NginxJava服務器

2023-05-25 20:06:17

Linux游戲性能

2024-10-15 08:08:13

2013-05-22 09:38:03

GoGo語言Go性能

2016-11-01 11:38:50

DNS網站性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品一级欧美片免费播放 | 黄色免费av| 亚洲精品视频免费看 | 国产成人99久久亚洲综合精品 | a久久| 亚洲综合三区 | 久久中文网 | 日日日色 | www久久国产| 日韩在线视频一区 | 精品视频一区二区在线观看 | 国产成人精品一区二 | 免费成人国产 | 成人午夜网 | 久久久久国产精品一区 | 国产成人99久久亚洲综合精品 | 韩日一区 | 日韩精品在线视频免费观看 | 男人天堂午夜 | 欧美日韩在线免费观看 | 黄色免费在线观看网站 | 黄瓜av| 日日摸夜夜添夜夜添精品视频 | 日韩成人免费视频 | 欧美日韩久久精品 | 日韩国产中文字幕 | 精品中文字幕一区二区三区 | 亚洲午夜视频 | 精品久久久久久18免费网站 | 久久在线 | 免费一区| www.se91| 久久久久国产精品一区二区 | 特级生活片 | 中文字幕一区在线 | 久久精品99 | 亚洲色图综合 | 精品视频在线观看 | 亚洲精品免费观看 | 久草福利 | 黄色片在线观看网址 |