為什麼微服務需要API閘道器?
什麼是API閘道器?
API閘道器跨一個或多個內部API提供單個統一的API入口點。 通常還包括限制訪問速率限制和有關安全性等特點。 諸如Tyk.io的API管理層增加了額外的功能,例如分析,貨幣化和生命週期管理。
基於微服務的架構可以具有10到100個或更多個服務。 API閘道器可以為外部消費者提供統一的入口點,而與內部微服務的數量和組成無關。
API閘道器對於微服務的好處
1.防止內部關注暴露給外部客戶端
API閘道器將外部公共API與內部微服務API分開,允許新增微服務和更改邊界。 其結果是能夠在不對外部繫結客戶端產生負面影響的情況下重構和適當大小的微服務。 它還透過為您的所有微服務提供單一入口點,對客戶端隱藏了服務發現和版本控制詳細資訊。
2.為您的微服務新增額外的安全層
API閘道器透過提供一個額外的保護層來防止惡意攻擊,例如SQL隱碼攻擊,XML解析器漏洞和拒絕服務(DoS)攻擊。
3.支援混合通訊協議
雖然面向外部的API通常提供基於HTTP或REST的API,但是內部微服務可以從使用不同的通訊協議中受益。 協議可能包括的Protobuf或AMQP ,或者用SOAP,JSON-RPC或XML-RPC系統整合。 API閘道器可以在這些不同的協議之上提供外部的,統一的基於REST的API,允許團隊選擇最適合內部架構的API。
4.降低微服務複雜性
如果微服務具有共同的關注點,例如使用API令牌的授權,訪問控制實施和速率限制。 每個這些關注可以透過要求每個服務都實現它們,但這為微服務的開發增加更多的時間成本。 API閘道器將從您的程式碼中刪除這些問題,允許您的微服務關注手頭的任務。
5.微服務模擬和虛擬化
透過將微服務API與外部API分離,您可以模擬或虛擬化服務,以驗證設計要求或協助整合測試。
微服務API閘道器的缺點
雖然使用API微服務閘道器有很多好處,但有一些缺點:
1.您的部署架構將需要更多的編排和管理,並增加一個API閘道器
2.必須在部署期間管理路由邏輯的配置,以確保從外部API到正確的微服務的正確路由。
3.除非針對高可用性和規模正確構建,否則API閘道器可能成為限制因素,甚至是單點故障。
相關文章
- 為什麼微服務一定要有閘道器?微服務
- 微服務使用者為什麼要用雲原生閘道器微服務
- 高效能API閘道器(1)、微服務API閘道器架構設計API微服務架構
- 微服務閘道器微服務
- 微服務基礎——厲害了!API閘道器微服務API
- 微服務實踐分享(2)api閘道器微服務API
- .NET Core 微服務—API閘道器(Ocelot) 教程 [四]微服務API
- .NET Core 微服務—API閘道器(Ocelot) 教程 [一]微服務API
- 微服務架構基礎之API閘道器微服務架構API
- 微服務設計中的API閘道器模式微服務API模式
- 微服務閘道器- Nginx微服務Nginx
- 微服務中的閘道器微服務
- 基於.NET CORE微服務框架 -Api閘道器服務管理微服務框架API
- RestCloud API閘道器,無縫與原微服務框架整合RESTCloudAPI微服務框架
- 微服務(七)Gateway服務閘道器微服務Gateway
- 什麼是閘道器?閘道器的作用是什麼,閘道器的作用詳解
- 《springcloud 二》微服務動態閘道器,閘道器叢集SpringGCCloud微服務
- 微服務技術棧:API閘道器中心,落地實現方案微服務API
- go-kit微服務:一個簡單的API閘道器Go微服務API
- 微服務閘道器 Spring Cloud Gateway微服務SpringCloudGateway
- SpringCloud 微服務閘道器 Gateway 元件SpringGCCloud微服務Gateway元件
- 微服務6:通訊之閘道器微服務
- 為什麼微服務架構需要聚合微服務架構
- 基於.NET CORE微服務框架 -談談surging API閘道器微服務框架API
- SpringCloud微服務治理三(Zuul閘道器)SpringGCCloud微服務Zuul
- 微服務下的閘道器如何選擇微服務
- 微服務閘道器Gateway實踐總結微服務Gateway
- 微服務架構閘道器介面設計微服務架構
- 使用API閘道器幫助單體到微服務的平滑過渡API微服務
- API 閘道器 KongAPI
- 預設閘道器怎麼設定,預設閘道器是什麼
- 一站式入口服務|愛奇藝微服務平臺 API 閘道器實戰微服務API
- .Net Core微服務入門全紀錄(五)——Ocelot-API閘道器(下)微服務API
- .Net Core微服務入門全紀錄(四)——Ocelot-API閘道器(上)微服務API
- RestCloud企業級API閘道器,可與原有微服務框架無縫整合RESTCloudAPI微服務框架
- SpringCloud微服務專案實戰 - API閘道器Gateway詳解實現SpringGCCloud微服務APIGateway
- .NETCore微服務探尋(一) - 閘道器NetCore微服務
- .NET Core微服務開發閘道器篇-ocelot微服務