微服務網關作用:
API網關:跨一個或多個內部API提供單個統一的API入口點。通常還包括限制訪問速率和有關安全性等特點。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服務提供負載均衡的功能。
6. 緩存:緩存以提高性能。
7.監控:
8.日志:統一收集系統相關日志。
微服務API網關的缺點:
雖然使用API微服務網關有很多好處,但有一些缺點:
1.您的部署架構將需要更多的編排和管理,並增加一個API網關;
2.必須在部署期間管理路由邏輯的配置,以確保從外部API到正確的微服務的正確路由。
3.除非針對高可用性和規模正確構建,否則API網關可能成為限制因素,甚至是單點故障。