1.微服務網關的優點
- 提供了統一的訪問入口,降低了服務的受攻擊面積。
- 提供了統一的跨域解決。(雖然Nginx可以解決跨域問題)
- 提供了統一的日誌記錄,可以進行統一的監控。
- 提供了統一的權限認證。(雖說整合了oauth後在認證服務器認證,但還是在網關登錄)
- 提供了微服務限流等功能,可以保護服務防止雪崩效應。
- 可以系統構建一套或者多套服務。
2.網關-微服務概念圖
這裏爲什麼需要這麼多網關呢,其實將所有的微服務掛載到網關上也不是不行,但存在幾個整體方面的問題
- 後期添加服務,網關也需要編寫重啓,會影響到其他多個系統。比如添加一個訂單微服務,其實有關的只有用戶中心,其他的不會受到影響,如果全部都掛載到一個網關上,升級的時候其他的服務也會無法使用。
- 網關一旦掛機,所有相關的微服務掛載會失敗
3.微服務相關技術
- Nginx:高性能的HTTP與反向代理的web服務器。
- zuul:netfix出品的基於jvm路由和服務端的負載均衡器
- spring-cloud-gateway,是spring出品的關於spring的網關項目。
我們使用gateway,這個的性能比zuul好,而且支持更多的功能。