前言
我在多方合作時,系統間的互動是怎麼做的?這篇文章中寫過一些多方合作時介面的呼叫規則和例子,然而,介面開放所涉及的安全、許可權、監控、流量控制等問題,可不是簡簡單單就可以解決的,這一般需要專業的開放平臺來支撐。但為了開放幾個介面就要做一個開放平臺,實在是不合算。為此阿里云為瞭解決這類需求推出了一款強大的工具——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分組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授權給應用
授權給應用後,當前API就和應用建立了聯絡,有一個稍微麻煩的地方,測試、預發、線上需要分三次授權。授完權,應用在呼叫API的時候,使用對應ak/sk或appCode就可以呼叫這個API了。
第六步、API除錯
除錯情況如上圖。
3. 多語言呼叫Demo一鍵生成
這個一鍵生成呼叫程式碼我感覺是這個產品的亮點,Java、Python、C++、.NET都有案例,省了我們很多時間,畢竟開放文件寫的再好也不如直接來一個一鍵執行的Demo好用啊。
四、總結
ChatGPT的總結
阿里雲API閘道器是一個強大的工具,可以幫助開發者簡化介面開放的過程,提供安全、高效的API訪問入口。透過使用API閘道器,開發者可以更加專注於業務邏輯的實現,而無需過多關注介面的安全和管理問題。相信隨著雲端計算和API經濟的不斷髮展,API閘道器將在未來扮演越來越重要的角色。
我自己的看法
功能確實很多,費用也還合理,如果哪天你想透過API的方式分享你的能力,而又不想做一套複雜的開發平臺體系,那麼阿里雲API閘道器確實是一個不錯的選擇。