介面開放太麻煩?試試阿里雲API閘道器吧

2023-11-09 12:02:03

前言

我在多方合作時,系統間的互動是怎麼做的?這篇文章中寫過一些多方合作時介面的呼叫規則和例子,然而,介面開放所涉及的安全、許可權、監控、流量控制等問題,可不是簡簡單單就可以解決的,這一般需要專業的開放平臺來支撐。但為了開放幾個介面就要做一個開放平臺,實在是不合算。為此阿里云為瞭解決這類需求推出了一款強大的工具——API閘道器。本文將介紹阿里雲API閘道器的特點和優勢,以及如何使用API閘道器來簡化介面開放的過程。

一、阿里雲API閘道器收費模式

有些同學看到要錢可能就有點難受了,不過人家既然是產品,就是拿出來賣的,我們看看它是咋收費的,太貴了就不買。
這裡我直接總結一下白嫖部分:

  • 每月(自然月)前一百萬次API呼叫免費,當月超過部分按階梯計費。
  • 流量費用在國內的話,1個G大約0.7元,這個好像必須收費。

總體來說,費用主要集中在流量費上,只是簡單的資料流應該花不了多少錢,但是如果大量傳輸圖片、檔案就可能會很貴。(官方計費連結

二、阿里雲API閘道器的特點和優勢

  • 簡化介面管理:API閘道器提供了一套方便的管理介面,可以靈活設定介面的引數、返回值、鑑權方式等資訊,同時還支援介面版本管理和灰度釋出,方便開發者進行介面的迭代和升級。

  • 安全可靠:API閘道器支援多種鑑權方式,包括簽名鑑權、OAuth2.0鑑權等,可以確保只有授權的使用者才能存取介面。此外,API閘道器還支援自定義流量控制和存取控制,可以有效防止惡意攻擊和濫用介面。

  • 高效能:API閘道器採用分散式架構,支援海量並行請求,可以承載高流量的業務場景。同時,API閘道器還提供了實時監控和報警功能,可以及時發現並解決介面效能問題,保障系統的穩定性。

  • 彈性擴充套件:由於API閘道器是雲服務,可以根據業務需求靈活擴充套件,無需擔心硬體和頻寬的限制。而且,API閘道器還支援自動化部署和靈活的設定管理,方便開發者進行系統的運維和升級。

這裡直接讓ChatGPT生成了,大家有興趣的話自己看看就行。

三、如何使用阿里雲API閘道器

1. 呼叫邏輯

(1)原始呼叫方案

最原始的辦法就是服務服務提供方提供一些API出來,然後給一個介面檔案,服務呼叫方直接呼叫即可。這種方式簡單粗暴,但是缺點也顯而易見:缺乏安全、許可權、監控、流量控制等。

(2)阿里雲API呼叫方案

阿里雲API方案的話,首先服務提供方需要將自己的API註冊到阿里雲API平臺上,然後對呼叫方進行授權,只有有許可權的呼叫方才可以呼叫API,除此之外還有紀錄檔、監控與告警等基礎服務,相比原始呼叫方案來說,強大了不止一點。

2. 服務提供方註冊API

第一步、登入阿里雲網站—>開啟阿里雲API閘道器介面

阿里雲API閘道器官網地址

第二步、開放API—>分組管理—>建立分組


建立好之後會有一個API分組ID,並且會提供一個公網二級域名,正常來講這個域名就已經可以調通介面了,但是這個二級域名僅供測試使用,使用者端直接呼叫時會有每天 1000 次存取限制。
我的做法是根據自己的域名開一個二級或者三級域名,通過CNAME解析到阿里雲的這個公網二級域名,這樣就不會有次數限制了。

第三步、開放API—>API列表—>建立API

API的建立是關鍵步驟,我這裡拆開來講。

a. 基本資訊

主要是API介面名稱,其他的東西可以不改,直接下一步就行了。

b. 定義API請求

定義API請求主要是設定請求path和引數,這個path和引數是服務呼叫方使用的,一般我們會這裡定義的path和引數與後端設為一樣,可以減少理解的成本。

c. 定義API後端服務

這裡就是服務提供方的服務API地址。

d. 定義返回結果

可以不填,直接點選建立。

e. 將API釋出到測試

API釋出之後還不能立馬偵錯,還需要建立一個呼叫API的應用才可以。

第四步、呼叫API—>應用管理—>建立APP

這裡建立完呼叫API的應用之後會自動生成兩套認證祕鑰:ak/sk或appCode,這兩種任選其一就行。

第五步、API授權給應用

授權給應用後,使用該應用的ak/sk或appCode就可以呼叫這個API了。

第六步、API偵錯

偵錯情況如上圖。

3. 多語言呼叫Demo一鍵生成

四、總結

ChatGPT的總結

阿里雲API閘道器是一個強大的工具,可以幫助開發者簡化介面開放的過程,提供安全、高效的API存取入口。通過使用API閘道器,開發者可以更加專注於業務邏輯的實現,而無需過多關注介面的安全和管理問題。相信隨著雲端計算和API經濟的不斷髮展,API閘道器將在未來扮演越來越重要的角色。

我自己的看法

功能確實很多,費用也還合理,如果哪天你想通過API的方式分享你的能力,而又不想做一套複雜的開發平臺體系,那麼阿里雲API閘道器確實是一個不錯的選擇。