文章最後更新於 2023 年 2 月 28 日
此圖片來自於:https://blog.bytebytego.com/
是一個我很喜歡的 blog,有很多精美的系統架構圖與說明
下圖展示了常見的 API 架構風格。
1. REST 提出於 2000 年,REST 是最常用的風格之一,通常被用於前端客戶端和後端服務之間的通信。REST 符合六個架構約束,資料格式可以是 JSON、XML、HTML 或純文字。
2. GraphQL GraphQL 於 2015 年由 Meta 提出,提供適用於關聯實體呈現圖形的複雜系統所需的模式和類型系統。例如,在下圖中,GraphQL 可以在一次呼叫中擷取使用者和訂單資訊,而在 REST 中需要多次呼叫。
GraphQL 不是 REST 的替代方案,它可以建立在現有的 REST 服務之上。
3. WebSocket WebSocket 是一個提供 TCP 全雙工通訊的協定,客戶端建立 WebSockets 以從後端服務接收即時更新。與 REST 不同的是,WebSocket 可以使資料被「推送」而非一直「拉取」。
4. Webhook Webhook 通常用於第三方異步 API 呼叫。例如,在下圖中,我們使用 Stripe 或 Paypal 作為付款通道,並註冊 webhook 以獲取付款結果。當第三方付款服務完成時,它會通知付款服務付款是否成功或失敗。Webhook 呼叫通常是系統狀態機的一部分。
5. gRPC 於 2016 年發布的 gRPC 用於微服務之間的通信。gRPC庫處理編碼/解碼和數據傳輸。
6. SOAP SOAP 代表 Simple Object Access Protocol。它的載荷僅限於 XML,適用於內部系統之間的通信。

關於作者

-
大家好,我是 Oscar(卡哥)。曾任 Yahoo 資深工程師(Lead Engineer),也是高智商組織 Mensa 的會員,擁有超過 15 年的軟體開發經驗。職涯中曾參與 Yahoo 關鍵字廣告、電子商務與搜尋相關專案,近年則在虛擬貨幣交易所專注於大數據與 AI 資料服務,帶領團隊開發具影響力的產品與解決方案。
在工作之外,我熱愛音樂,平時喜歡彈吉他、創作與演奏;運動方面偏好羽球、高爾夫球,也投入在美股與虛擬貨幣的投資領域。最享受的,是透過交流與分享,把知識與經驗轉化成更多可能性。
最新文章
- 2026 年 7 月 5 日高併發系統設計服務韌性設計模式:Bulkhead、RateLimiter 與更多
- 2025 年 10 月 12 日Scrum 方法論為什麼 Scrum 團隊會失敗?——從「儀式」回到「實戰」的長期觀察與修復手冊
- 2025 年 8 月 17 日軟體開發最佳實踐【軟體開發必讀】程式人生中的七大浪費:你是不是天天在做白工?
- 2025 年 2 月 8 日人工智能(AI)高效使用DeepSeek R1的7個核心技巧與地雷提示詞解析|2025實戰指南