天天看點

Amazon 推出 API 網關使用計劃

近日,amazon更新了他們的api網關服務,推出了api網關“使用計劃(usage plans)”。借助使用計劃,amazon api網關客戶可以根據不同的通路級别和使用者分類管理和貨币化他們的api。通過第三方開發者生态系統将api貨币化,是企業暴露api時經常采用的模式之一。使用計劃讓組織可以管理第三方開發人員的消費模式,實作api密鑰層計費。

amazon首次推出api網關服務是在2015年7月,其目的是為組織提供一種方法,讓他們可以保護和管理運作在aws lambda、ec2及托管在公共端點上的api。現在,該服務已經完成了更新,通過使用計劃提供了粒度更細的api管理。具體來說,使用計劃可以指定到不同的通路級别,比如bronze、silver和gold。它們還可以指定到不同的使用者類别,包括學生、個人、專業人士或企業。借助使用計劃,api網關客戶現在可以控制如下api參數:

“節流(throttling)”——總體請求速率(平均每秒的請求數)和突發流量;

限額——每天、周或月的請求數;

api/stage——可以通路的api和api stage。

使用計劃可以通過api網關控制台建立。在使用計劃裡,管理者可以啟用節流程序,限制api每秒請求數和突發請求數。使用計劃還允許為預定義時間範圍内的請求總數設定限額或上限。

在最近的一篇博文中,amazon web services首席宣傳官jeff barr對amazon如何實作節流進行了解釋:

節流是使用令牌桶模型實作的。該桶足以容納由burst值表示的令牌數量,并按照指定的速率擷取新的令牌。每個api請求會從桶中移除一個令牌。使用令牌桶讓你的api可以支援一個穩定的請求流,并能夠适應偶然出現的突發流量。

從業務和技術的角度看,節流可以確定計劃級别低的客戶不會引入性能問題,中斷計劃級别更高的客戶的api調用。

Amazon 推出 API 網關使用計劃

當一個api客戶因為計劃外的消費即将超出當月的限額時,可以通過臨時擴充的方式避免服務中斷。

Amazon 推出 API 網關使用計劃

使用計劃可以在不同的api網關stage中實作。amazon建立了stage,使得計算環境的管理可以彼此獨立,比如測試和生産環境。如果組織将api托管在了一個功能不夠強大的測試環境中,那麼他們可能會希望針對那個stage或環境裡的api客戶執行不同的政策。

由于amazon現在是在api密鑰層測量使用情況,是以他們也能夠通過“導出使用資料(export usage data)”特性提供消費資料。管理者可以指定資料範圍和消費資料格式,包括json或csv。這些資訊後續可以作為計費依據提供給api客戶。

Amazon 推出 API 網關使用計劃

測量消費、節流和限額不是amazon api網關特有的東西。這是一些主流的api管理特性,在競争對手提供的服務裡也可以找到,其中包括微軟的azure api管理服務。微軟是通過在不同的範圍級别(産品、api或操作)上使用不同的政策來實作節流和限額。消費跟蹤則是在開發者、産品、訂閱、api和操作級别上進行。

繼續閱讀