API網關是一個服務器,是系統的惟一入口。從面向對象設計的角度看,它與外觀模式相似。API網關封裝了系統內部架構,爲每一個客戶端提供一個定製的API。它可能還具備其它職責,如身份驗證、監控、負載均衡、緩存、請求分片與管理、靜態響應處理。
API網關方式的核心要點是,全部的客戶端和消費端都經過統一的網關接入微服務,在網關層處理全部的非業務功能。一般,網關也是提供REST/HTTP的訪問API。服務端經過API-GW註冊和管理服務。跨域
API網關所處的位置一般爲:緩存
使用API網關的好處:安全
網關大體分類服務器
Netflix Zuul是一種提供動態路由、監視、彈性、安全性等功能的邊緣服務。Zuul是Netflix出品的一個基於JVM路由和服務端的負載均衡器(Spring Cloud使用)。架構
提供能力:負載均衡
單點問題:Keepalived + LVS 保證一個網關掛掉時,迅速進行失效轉移
性能問題:雙重網關(雙重網關,外部網關處理安全,認證,限流,監控,日誌等,內部網關處理緩存,重試,熔斷等)frontend