6款開源API網(wǎng)關(guān)

最近在了解API網(wǎng)關(guān)相關(guān)的內(nèi)容,為此甚淡,我對市面上較火的開源網(wǎng)關(guān)做了一定的了解調(diào)研大诸。剛好在翻閱資料時,找到一篇中立客觀的開源API網(wǎng)關(guān)介紹贯卦,特此做了一些翻譯资柔,并記錄在此。

翻譯來源:https://nordicapis.com/6-open-source-api-gateways/

前言

隨著API越來越廣泛和規(guī)范化撵割,對標準化贿堰、安全協(xié)議和可擴展性的需求呈指數(shù)級增長。隨著對微服務(wù)的興趣激增啡彬,這一點尤其如此羹与,微服務(wù)依賴于API進行通信故硅。API網(wǎng)關(guān)通過一個相對容易實現(xiàn)的解決方案來滿足這些需求。

也許最重要的是纵搁,API網(wǎng)關(guān)充當用戶和數(shù)據(jù)之間的中介吃衅。API網(wǎng)關(guān)是針對不正確暴露的端點的基本故障保護,而這些端點是黑客最喜歡的目標腾誉∨遣悖考慮到一個被破壞的API在某些情況下可能會產(chǎn)生驚人的災(zāi)難性后果,僅此一點就使得API網(wǎng)關(guān)值得探索利职。網(wǎng)關(guān)還添加了一個有用的抽象層趣效,這有助于將來驗證您的API,防止由于版本控制或后端更改而導(dǎo)致的中斷和服務(wù)中斷猪贪。

不幸的是跷敬,許多API網(wǎng)關(guān)都是專有的,而且價格不便宜哮伟!值得慶幸的是干花,已經(jīng)有幾個開源API網(wǎng)關(guān)來滿足這一需求妄帘。我們已經(jīng)回顧了六個著名的開源API網(wǎng)關(guān)楞黄,您可以自行測試,而無需向供應(yīng)商作出大量承諾抡驼。

Kong Gateway (Open Source)

Kong Gateway(OSS)是一個受歡迎的開源API網(wǎng)關(guān)鬼廓,因為它界面流暢、社區(qū)活躍致盟、云原生架構(gòu)和廣泛的功能碎税。它速度極快,重量輕馏锡。Kong還為許多流行的基于容器和云的環(huán)境提供了現(xiàn)成的部署雷蹂,從Docker到Kubernetes再到AWS。這使您可以輕松地將Kong集成到現(xiàn)有的工作流程中杯道,從而使學(xué)習(xí)曲線不那么陡峭匪煌。

Kong支持日志記錄、身份驗證党巾、速率限制萎庭、故障檢測等。更好的是齿拂,它有自己的CLI驳规,因此您可以直接從命令行管理Kong并與之交互。您可以在各種發(fā)行版上安裝開源社區(qū)Kong Gateway署海÷鸸海基本上医男,Kong擁有API網(wǎng)關(guān)所需的一切。

Tyk Open-Source API Gateway

Tyk被稱為“行業(yè)最佳API網(wǎng)關(guān)”捻勉。與我們列表中的其他API網(wǎng)關(guān)不同昨登,Tyk確實是開源的,而不僅僅是開放核心或免費增值贯底。它為開源解決方案提供了一系列令人印象深刻的特性和功能丰辣。和Kong一樣,Tyk也是云原生的禽捆,有很多插件可用笙什。Tyk甚至可以用于以REST和GraphQL格式發(fā)布自己的API。

Tyk對許多功能都有本機支持胚想,包括各種形式的身份驗證琐凭、配額、速率限制和版本控制浊服。它甚至可以生成API文檔统屈。最令人印象深刻的是,Tyk提供了一個API開發(fā)者門戶牙躺,允許您發(fā)布托管API愁憔,因此第三方可以注冊您的API,甚至管理他們的API密鑰孽拷。Tyk通過其開源API網(wǎng)關(guān)提供了如此多的功能吨掌,實在令人難以置信。

KrakenD Open-Source API Gateway

KrakenD的開源API網(wǎng)關(guān)是在Go中編寫的脓恕,它有幾個顯著的特點膜宋,尤其是對微服務(wù)的優(yōu)化。它的可移植性和無狀態(tài)性是其他強大的賣點炼幔,因為它可以在任何地方運行秋茫,不需要數(shù)據(jù)庫。由于KrakenDesigner乃秀,它比我們列表中的其他一些API網(wǎng)關(guān)更靈活肛著、更易于接近,這是一個GUI环形,它可以讓您直觀地設(shè)計或管理API策泣。您還可以通過簡單地編輯JSON文件輕松地編輯API。

KrakenD包括速率限制抬吟、過濾萨咕、緩存和授權(quán)等基本功能,并且提供了比我們提到的其他API網(wǎng)關(guān)更多的功能火本。在不修改源代碼的情況下危队,可以使用許多插件和中間件聪建。它的效率也很高-據(jù)維護人員稱,KrakenD的吞吐量優(yōu)于Tyk和Kong的其他API網(wǎng)關(guān)茫陆。它甚至具有本地GraphQL支持金麸。所有這些,KrakenD的網(wǎng)關(guān)非常值得一看簿盅。

Gravitee OpenSource API Management

Gravite.io是另一個API網(wǎng)關(guān)挥下,它具有一系列令人印象深刻的功能,這次是用Java編寫的桨醋。Gravitee有三個模塊用于發(fā)布棚瘟、監(jiān)控和記錄API:

API管理(APIM):APIM是一個開源模塊,可以讓您完全控制誰訪問您的API以及何時何地喜最。

訪問管理(AM):Gravite為身份和訪問管理提供了一個本地開源授權(quán)解決方案偎蘸。它基于OAuth 2.0/OpenID協(xié)議,具有集中的身份驗證和授權(quán)服務(wù)瞬内。

警報引擎(AE):警報引擎是一個用于監(jiān)視API的模塊迷雪,允許您自定義多渠道通知,以提醒您可疑活動虫蝶。

Gravitee還具有API設(shè)計器Cockpit和命令行界面graviteio-cli章咧。所有這些都使Gravitee成為最廣泛的開源API網(wǎng)關(guān)之一。您可以在GitHub上查看Gravite.io OpenSource API管理秉扑,或直接下載AWS慧邮、Docker调限、Kubernetes舟陆、Red Hat,或在此處作為Zip文件耻矮。

Apinto Microservice Gateway

顯然秦躯,Go是編寫API網(wǎng)關(guān)的流行語言。Apinto API網(wǎng)關(guān)用Go編寫裆装,旨在管理微服務(wù)踱承,并提供API管理所需的所有工具。它支持身份驗證哨免、API安全以及流控制茎活。

Apinto支持HTTP轉(zhuǎn)發(fā)、多租戶管理琢唾、訪問控制和API訪問管理载荔,非常適合微服務(wù)或具有多種類型用戶的任何開發(fā)項目。Apinto還可以通過多功能的用戶定義插件系統(tǒng)輕松地為特定用戶定制采桃。它還具有API健康檢查和儀表板等獨特功能懒熙。

Apinto Microservice針對性能進行了優(yōu)化丘损,具有動態(tài)路由和負載平衡功能。根據(jù)維護人員的說法工扎,Apinto比Nginx或Kong快50%徘钥。

Apache APISIX API Gateway

我們將使用世界上最大的開源組織之一Apache軟件基金會的一個開源API網(wǎng)關(guān)來完善我們的開源API網(wǎng)關(guān)列表。Apache APISIX API網(wǎng)關(guān)是另一個云原生API網(wǎng)關(guān)肢娘,具有您目前已經(jīng)認識到的所有功能——負載平衡呈础、身份驗證、速率限制和API安全橱健。然而猪落,有一些特殊的功能,包括多協(xié)議支持和Kubernetes入口控制畴博。

關(guān)于開源API網(wǎng)關(guān)的最后思考

不受限制笨忌、不受限制的API訪問時代已經(jīng)結(jié)束。隨著API使用的廣泛普及俱病,有無數(shù)理由實現(xiàn)API網(wǎng)關(guān)以實現(xiàn)安全性官疲,因為不正確暴露的API端點可能會造成嚴重損害。API網(wǎng)關(guān)可以幫助圍繞API設(shè)置速率限制亮隙,以確保安全使用途凫。而且,如果您向第三方供應(yīng)商支付高昂的價格溢吻,開源選項可能會減少您的每月IT預(yù)算维费。

總之,API網(wǎng)關(guān)為您的API環(huán)境添加了一個重要的抽象層促王,這可能是它們最有用的功能犀盟。這樣的抽象層是防止API端點和用戶數(shù)據(jù)不當暴露的一些最佳方法。然而蝇狼,幾乎同樣重要的是它為您的API增加了靈活性阅畴。

如果沒有抽象層,即使對后端的微小更改也可能導(dǎo)致下游的嚴重破壞迅耘。添加API網(wǎng)關(guān)可以使敏捷框架受益贱枣,并有助于簡化CI/CD管道。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颤专,一起剝皮案震驚了整個濱河市纽哥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌栖秕,老刑警劉巖春塌,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡摔笤,警方通過查閱死者的電腦和手機够滑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吕世,“玉大人彰触,你說我怎么就攤上這事∶剑” “怎么了况毅?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長尔艇。 經(jīng)常有香客問我尔许,道長,這世上最難降的妖魔是什么终娃? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任味廊,我火速辦了婚禮,結(jié)果婚禮上棠耕,老公的妹妹穿的比我還像新娘余佛。我一直安慰自己,他們只是感情好窍荧,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布辉巡。 她就那樣靜靜地躺著,像睡著了一般蕊退。 火紅的嫁衣襯著肌膚如雪郊楣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天瓤荔,我揣著相機與錄音净蚤,去河邊找鬼。 笑死茉贡,一個胖子當著我的面吹牛塞栅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腔丧,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼作烟!你這毒婦竟也來了愉粤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤拿撩,失蹤者是張志新(化名)和其女友劉穎衣厘,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡影暴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年错邦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片型宙。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡撬呢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妆兑,到底是詐尸還是另有隱情魂拦,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布搁嗓,位于F島的核電站芯勘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏腺逛。R本人自食惡果不足惜荷愕,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棍矛。 院中可真熱鬧路翻,春花似錦、人聲如沸茄靠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慨绳。三九已至掉冶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脐雪,已是汗流浹背厌小。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留战秋,地道東北人璧亚。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像脂信,于是被迫代替她去往敵國和親癣蟋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容