API 編排如何工作?

API 編排層支持不同服務之間的通信和集成,在提供單個響應之前處理對不同服務的多個調用。它確保流暢的前端體驗,同時管理服務之間的權限、授權和安全性。

API 編排的核心元素

API編排功能一般包括如下功能:

  1. 集成:在前端和后端系統之間將數據轉換為不同的格式,將新的 API 和服務與遺留系統集成。
  2. 數據轉換:標準化數據格式以滿足客戶端和后端的期望,實現不同服務之間的通信。
  3. 邏輯工作流:在調用和響應之間添加邏輯工作流,以實現服務和數據格式之間的通信和協調。
  4. 自動化:自動化不同服務之間的復雜工作流程、操作和交互,以實現高效的流程和服務。
  5. 監控和錯誤通知:在抽象層面提供可觀察性,以處理業務流程層的監控,并通過自動錯誤通知更快地檢測和診斷錯誤。
  6. 身份驗證和 API 安全:管理 API 和服務之間的身份驗證和授權機制,以確保數據訪問的安全。
  7. 緩存:通過緩存數據來減輕后端的負擔,以提高性能并減少往返 API 請求的次數。

API 編排的痛點

API編排工具非常好用,但也存在7個痛點,分別是:

面向沒有編程基礎的普通用戶服務

由于 API 編排具有“用戶自助”的特性,注定了其用戶“既是生產者又是消費者”。而任何網絡平臺的用戶,都必須假定為“沒有編程基礎”,即面向沒有編程經驗的普通用戶服務。

功能需要覆蓋完備的編程元素

API 編排需要構造多個 API 調用,捕獲和剪裁輸出數據,同時也可能存在分支和根據條件重復處理等需求。

我們的編程啟蒙老師一定都講過,編程無非就是順序+選擇+循環。可見,編程所需所有元素,在 API 編排中皆有需求。然而,在我們的用戶是沒有編程基礎的普通用戶的情況下,如何讓他們理解和描述要進行的操作,是另一個難題。

沒有現成的編程語言可用

站在程序員的角度,在各種高級編程語言百家爭鳴的今天,描述和實現“ API 編排”需求的方法有千萬種。

靜態語言有 C、C++、C#、JAVA、GO 等供我們選擇,動態腳本語言有 Python、Lua、Perl、JavaScript、Ruby、Lisp 等多種選擇。可以說任意組合一門靜態語言+一門動態語言,都可以完美勝任我們的“動態 API 編排”任務。然而,當我們的用戶被定義為“沒有編程基礎”,該問題就開始變得撲朔迷離。

后端 API 實現上的異構特性

由于微服務拆分的原則是讓每個服務足夠獨立,對服務的實現語言和使用的技術,并不會做嚴格的限制,所以微服務天生就有異構的特性。

如果是同一個 team 開發各個子服務,可能會在 API 提供方式、調用方法上做一些簡單約定。如果是由不同的 team 開發這些子服務,甚至還會存在 HTTP/RPC、RESTful/非 REST 這些可選項。如果需要兼容第三方 API,則還會存在編程語言差異,使用的技術差異等。

因此,對于一個對兼容性有足夠考慮的 API 編排系統而言,承認和處理后端 API 的異構問題,是必然繞不過去的彎。

原子化的描述 API 的調用方法及構造輸入輸出參數

雖然 API 編排不是直接由程序員編寫代碼來構造一個 HTTP/RPC 調用來完成 API 訪問,但其最終要實現的效果與前者高度一致。由于后端 API 天生的異構特性,使我們必須提供一種準確且易懂的描述方式,讓用戶告訴我們如下問題的答案:

因此,描述和實現構造 API 調用參數的過程和方法,成為設計 API 編排系統中最關鍵的一環。

編排第三方 API 的身份認證問題

由于一般對外提供 API 服務的系統,都會加入身份認證功能,來保證 API 不會被非法調用,以此保證服務器安全與穩定。對于需要兼容第三方 API 的 API 編排系統而言,需要采用一種通用的描述方法,讓實現 API 的第三方可以準確的描述自己實現的 API 所使用的身份認證方法。

常見的身份認證方法有:OIDC、 JWT、 bearer Tokens、Basic Auth、Signature、OAuth 2 等等。其中 Signature 認證方法只是使用“簽名”認證方式的一種統稱。實際上采用何種算法,使用什么步驟來構造這個“簽名字符串”,都需要有統一的方法來詳細描述。

說明

常見的“簽名”構造方法有:參數排序方法、追加字符串、計算 HASH 值、計算 HMAC HASH、AES/RSA 加密解密、hex/base64/url 編碼解碼等等。

由于第三方所使用的身份認證方法的多樣性,且沒有統一的標準,因此對 API 編排系統而言,如何原子化的定義和描述這些身份認證方法,也是一個不容忽視的大課題。

API 及 API 私鑰的權限問題

API 私鑰(如:登錄網絡平臺的用戶名密碼)是用戶訪問第三方 API 平臺的唯一身份證明數據,對用戶數據安全有著至關重要的作用。大部分API網關采用對稱加密方式,以簡化API程序對接。

API 編排需要代理用戶向第三方 API 服務器發起 API 調用請求,所以必須由用戶提供此私鑰才能完成該操作。

那么,問題的核心即變為,我們需要設計一套嚴密的安全體系,讓用戶信任我們的系統,將 API 私鑰托管在平臺是安全可信的。安全托管這些 API 私鑰的必要環節包括:加密上傳,加密存儲,任何第三方用戶使用需要授權,后端透明使用,內容對任何用戶不可見。

API 網關是編排器嗎?

雖然API網關 并非確切的 API 服務編排器,但它可以執行類似于編排的任務,例如緩存、監控和轉換。不過,API 網關是 API 請求的統一入口點,通過 API 管理客戶端和后端之間的交互,而編排層則管理工作流或分布式系統中多個任務或服務的執行。

API 組合與編排有什么區別?

API 組合是一種客戶端驅動的方法,它指定數據要求并獨立調用多個 API,聚合和組合滿足客戶端請求所需的各種 API 數據。另一方面,API 編排是一種集中式方法,其中服務編排器協調和管理多個 API 或微服務之間的順序、依賴關系和數據流,以完成更廣泛的業務流程或工作流。

API 編排工具

有各種 API 編排工具可用于滿足不同的需求、偏好和技術堆棧。一些API網關都自帶編排功能,探索16個適合現代應用程序的最佳API網關,選擇合適的API網關。

一些開源API編排工具,可以集成到自有系統中,例如Apache Kafka和 Camel、Netflix Conductor 和 AWS Step Functions,它們根據您的需求和技術堆棧提供不同的 API 編排方法。

總之,API 編排在簡化 API 管理、實現服務之間的高效通信和集成以及改善整體用戶體驗方面發揮著至關重要的作用。通過了解 API 編排的核心要素和優勢,企業可以優化其 API 工作流程并增強其服務。

常見問題

  1. 什么是 API 編排?
    API 編排是一種協調傳入請求、多個 API 服務和響應以增強通信和集成的方法。
  2. API 編排如何工作?
    API 編排的工作原理是實現不同服務之間的通信和集成,在提供單個響應之前處理對不同服務的多個調用。
  3. API 編排的核心元素是什么?
    核心元素包括集成、數據轉換、邏輯工作流、自動化、監控和錯誤通知、身份驗證和 API 安全以及緩存。
  4. API 網關是編排器嗎?
    雖然 API 網關執行的任務與編排類似,但它是 API 請求的統一入口點,通過 API 管理客戶端和后端之間的交互,而編排層則管理工作流或分布式系統中多個任務或服務的執行。
  5. API 組合和編排之間有什么區別?
    API 組合是一種客戶端驅動的方法,它指定數據要求并獨立調用多個 API,而 API 編排是一種集中式方法,其中服務編排器協調和管理多個 API 或微服務之間的順序、依賴關系和數據流
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
了解異步API
下一篇
供應鏈管理中的 EDI 與 API 趨勢解析
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
一区二区三区在线视频观看58 | 欧美激情一区二区三区不卡 | 免费高清不卡av| 在线播放国产精品二区一二区四区| 亚洲视频1区2区| 91成人看片片| 日本强好片久久久久久aaa| 欧美一区二区三区啪啪| 久久激情五月婷婷| 2020国产精品自拍| 99久久精品国产一区| 午夜视频一区二区| 日韩欧美视频一区| 成人99免费视频| 日韩中文字幕亚洲一区二区va在线| 日韩一区二区三区在线观看 | 国产.欧美.日韩| 亚洲成av人综合在线观看| 日韩午夜精品电影| 91亚洲大成网污www| 日本sm残虐另类| 国产精品日日摸夜夜摸av| 色悠久久久久综合欧美99| 老司机免费视频一区二区三区| 中文字幕av一区二区三区免费看| 在线观看91精品国产入口| 国产美女在线精品| 三级影片在线观看欧美日韩一区二区 | 日本一区中文字幕| 亚洲情趣在线观看| 久久久亚洲欧洲日产国码αv| 一本大道av伊人久久综合| 久久国产精品色婷婷| 依依成人综合视频| 国产精品久久久久久久岛一牛影视 | 亚洲一级电影视频| 国产精品久久久久四虎| 日韩一级免费观看| 欧美日本韩国一区| 欧美三级电影在线看| 色婷婷国产精品| av一区二区三区四区| 国产高清无密码一区二区三区| 日本不卡免费在线视频| 亚洲成av人**亚洲成av**| 日韩理论电影院| 中文字幕一区二区三区四区| 国产三级三级三级精品8ⅰ区| 精品日韩一区二区三区| 欧美一区二区三区在| 欧美电影在线免费观看| 在线播放亚洲一区| 日韩一级完整毛片| 欧美精品一区二区在线播放| 欧美电影免费提供在线观看| 日韩视频免费观看高清在线视频| 欧美久久久久久久久| 欧美日韩成人一区| 欧美va亚洲va| 国产精品传媒在线| 一区二区三区在线视频观看 | 国产精品一区免费在线观看| 粉嫩高潮美女一区二区三区| 成人在线视频一区二区| 91丨porny丨户外露出| 色综合天天性综合| 欧美日韩国产高清一区二区| 日韩欧美自拍偷拍| 国产精品久久久久久久浪潮网站| 日韩毛片一二三区| 亚洲成人免费电影| 久久精品国产77777蜜臀| 国产成人午夜片在线观看高清观看| 成人黄页毛片网站| 欧美无砖专区一中文字| 日韩精品一区二区在线| 国产欧美一区二区精品秋霞影院| 亚洲美女少妇撒尿| 麻豆精品国产91久久久久久| 成人网在线播放| 91精品中文字幕一区二区三区| 久久久.com| 日韩精品电影在线观看| eeuss鲁一区二区三区| 欧美一区二区视频在线观看2020| 欧美国产一区二区| 麻豆91精品91久久久的内涵| 日本高清不卡一区| 欧美激情艳妇裸体舞| 免费久久精品视频| 欧美亚洲国产一区二区三区va| 久久午夜电影网| 日本vs亚洲vs韩国一区三区二区 | 国产欧美一区二区精品秋霞影院 | 不卡视频在线看| 国产色产综合色产在线视频| 免费人成在线不卡| 欧美日韩和欧美的一区二区| 国产精品精品国产色婷婷| 久久国产欧美日韩精品| 51精品视频一区二区三区| 亚洲综合一区在线| 一本大道久久a久久综合| 久久蜜桃一区二区| 久久国产生活片100| 69精品人人人人| 日韩精品一区第一页| 精品视频资源站| 视频一区二区三区中文字幕| 欧美乱妇15p| 奇米综合一区二区三区精品视频 | 久久精品国产一区二区| 欧美一区二区三区免费在线看| 亚洲成国产人片在线观看| 欧美日韩国产另类一区| 日韩电影在线观看电影| 日韩三级高清在线| 国产乱子伦一区二区三区国色天香| 日韩一区二区视频| 国产一区二区三区高清播放| 久久精品一区二区三区不卡 | 一区二区三区蜜桃| 欧美日韩国产在线播放网站| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩欧美另类在线| 精品在线视频一区| 久久久www免费人成精品| 成人精品亚洲人成在线| 一区二区在线看| 在线播放91灌醉迷j高跟美女| 久久99在线观看| 亚洲图片激情小说| 日韩亚洲欧美一区| 99国产欧美久久久精品| 免费久久99精品国产| 国产精品天干天干在观线| 欧美日韩一级片网站| 精品影视av免费| 一区二区视频在线看| 欧美一级淫片007| 99精品欧美一区二区三区小说| 丝袜美腿一区二区三区| 成人免费在线观看入口| 日韩美女在线视频| 欧美午夜精品一区| 99久久婷婷国产精品综合| 麻豆精品在线播放| 五月天中文字幕一区二区| 亚洲同性gay激情无套| 国产日韩在线不卡| 精品99久久久久久| 日韩一二三区视频| 欧美三级视频在线| av在线一区二区| 国产91在线看| 国产精品一区三区| 精品中文字幕一区二区| 日韩高清电影一区| 亚洲电影在线免费观看| 一区二区三区中文字幕在线观看| 国产夜色精品一区二区av| 日韩写真欧美这视频| 欧美一区二区三区啪啪| 欧美老年两性高潮| 欧美另类变人与禽xxxxx| 在线观看亚洲专区| 精品视频1区2区3区| 欧美日韩视频在线一区二区| 欧美日韩一区精品| 欧洲视频一区二区| 欧美日韩性生活| 666欧美在线视频| 欧美精品丝袜久久久中文字幕| 欧美视频中文一区二区三区在线观看| 暴力调教一区二区三区| www.日韩在线| 在线亚洲高清视频| 7777精品伊人久久久大香线蕉| 91精品欧美一区二区三区综合在| 欧美日韩大陆一区二区| 欧美成人a∨高清免费观看| 久久久久久久久99精品| 亚洲日本护士毛茸茸| 亚洲bt欧美bt精品777| 久久99日本精品| 99精品视频一区二区三区| 欧美日韩国产精品成人| 欧美videossexotv100| 国产精品网站在线观看| 一区二区高清免费观看影视大全 | 亚洲日本电影在线| 丝袜美腿亚洲一区| 高清不卡在线观看| 欧美在线免费观看视频| 欧美电影免费观看高清完整版在| 中文字幕在线一区| 蜜臀av国产精品久久久久| av在线播放一区二区三区| 欧美一区二区福利在线| 亚洲精品中文在线观看|