API閘道器(API Gateway)和反向代理有什麼區別?
阿新 • • 發佈:2022-05-19
參考網址:https://zhuanlan.zhihu.com/p/371985627
反向代理
在傳統部署架構中,反向代理,大多是用於多個系統模組間的聚合,實現負載均衡,外網向內網的轉發。通過修改配置檔案的方式來進行增加或刪除節點,並重啟服務才可生效。通常來說,反向代理伺服器只具備負載均衡、轉發基本功能,若要需要其他功能,需要增加擴充套件或提供指令碼來實現。
API Gateway
在API Gateway部署模式中,API Gateway可以看作特殊的反向代理,是對反向代理伺服器功能的擴充,同時API Gateway僅侷限於服務API層面,對API做進一步的管理,保護。API Gateway不僅提供了負載均衡,轉發功能,還提供了灰度釋出,統一認證,熔斷,訊息轉換,訪問日誌等豐富的功能。
如何選擇?
倘若我們實際運用中,不需要服務發現,服務動態擴容,服務熔斷,統一認證,訊息轉換等一系列API Gateway功能,我們完全可以使用反向代理伺服器來部署微服務架構,當然如果這樣做,如遇到增加或減少服務節點時,需要修改反向代理伺服器配置,重啟服務才可以生效。而當我們可能不僅僅需要負載均衡,內外網轉發,還需要其他功能,又同時想實現一些各服務都需要的通用的功能時,這時候就改考慮API Gateway了。
也可以反向代理和API閘道器一起使用(例:nginx+zuul)