微服務架構為何需要搭配API閘道器?

2021-08-24 20:16:31 字數 1033 閱讀 8145

隨著以api為核心的it專案不斷增加,api閘道器與管理層亦愈發普遍。那麼,我們是否應當為微服務搭配api閘道器?如果需要,其又能夠帶來哪些助益?

api閘道器是什麼?

api閘道器負責提供一套單一且統一的api入口點,其跨越乙個或者多個內部api。其通常亦設定了層速率限制與安全性機制。tyk.io等api管理層則能夠帶來更多其它功能,包括分析、貨幣化以及生命週期管理等等。

基於微服務的架構當中往往包含10到100項甚至更多服務。api閘道器能夠為外部消費方提供一套統一的入口點,且不會受到內部微服務的具體數量與組成的影響。

api閘道器為微服務帶來的助益

避免將內部資訊洩露給外部客戶

api閘道器能夠將外部公共api與內部微服務api加以區分,使得各項微服務進行新增與邊界變更。如此一來,微服務架構就能隨時間推移而始終通過重組保護正確大小,且不會對外部繫結客戶造成影響。另外,其還能夠為全部微服務提供單一入口點,從而避免外部客戶進行服務發現及版本控制資訊檢視。

為微服務新增額外的安全層

api閘道器能夠提供一套額外的保護層,足以應對sql注入、xml解析攻擊以及拒絕服務(簡稱dos)攻擊等常見威脅因素,從而實現額外的保護層效果。

可支援混合通訊協議

由於面向外部的api通常會提供乙個基於http或者rest的api,因此內部微服務往往可藉此使用多種不同通訊協議。此類協議包括protobuf、amqp或者其它整合有soap、json-rpc或者xml-rpc的系統。api閘道器可跨越這些協議提供乙個外部統一的基於rest api,允許各團隊以此為基礎選擇最適合內部架構的協議方案。

降低微服務複雜性

微服務擁有多項常規重點,例如利用api令牌進行驗證、訪問控制以及速率限制等。每一項都會給相關實現服務帶來影響,進而延長微服務的開發時間。api閘道器能夠從**層面移除這些重點,使得大家的微服務能夠專注於更為實際的核心任務。

微服務模擬與虛擬化

通過將微服務api與外部api加以區分,大家可以模擬或者虛擬化自己的服務,從而滿足設計要求或者配合整合測試。

微服務api閘道器的弊端

雖然使用api微服務閘道器好處多多,但其亦存在以下弊端:

微服務架構為何需要搭配API閘道器?

隨著以api為核心的it專案不斷增加,api閘道器與管理層亦愈發普遍。那麼,我們是否應當為微服務搭配api閘道器?如果需要,其又能夠帶來哪些助益?api閘道器是什麼?api閘道器負責提供一套單一且統一的api入口點,其跨越乙個或者多個內部api。其通常亦設定了層速率限制與安全性機制。tyk.io等a...

微服務架構之 API閘道器

在微服務架構的系列文章中,前面已經通過文章 架構設計之 服務註冊 介紹過了服務註冊的原理和應用,今天這篇文章我們來聊一聊 api閘道器 api閘道器 是任何微服務架構的重要組成部分。有了它我們可以在乙個獨立的模組上方便的處理一些非業務邏輯,可以讓微服務本身專注在自身特定的功能上,使得每個微服務的開發...

為什麼微服務需要API閘道器

分布式技術原理與實戰45講 邴越 針對這些問題,乙個常用的解決方案是使用 api 服務閘道器。在微服務設計中,需要隔離內外部呼叫,統一進行系統鑑權 業務監控等,api 服務閘道器是乙個非常合適的切入口。通過引入 api 閘道器這一角色,可以高效地實現微服務集群的輸出,節約後端服務開發成本,減少上線風...