Xmind 2021 for Mac(思維導圖軟體)v11.1.2中文版
阿新 • • 發佈:2021-12-07
1.為什麼需要gateway作為閘道器/路由
在微服務框架中,我們各個微服務都不是直接暴露給其他服務來呼叫的。但假如有一個使用者知道了一個服務的ip:埠號:url:訪問引數,就能直接訪問你,再進一步,如果這個使用者開始惡意訪問、惡意攻擊,就會摧毀咱們的微服務系統。所以需要一個閘道器對我們的微服務進行保護。
閘道器完成對微服務保護的核心:過濾器。
2.過濾方式
- pre:在轉發之前執行,一般用來做引數校驗、許可權校驗、流量監控、日誌輸出、協議轉換。
- post:在後端響應之後,但沒有返回給前端之前執行,一般用來作響應頭和相應內容的修改、流量監控、日誌輸出。
3.兩種過濾器型別
- GatewayFilter:區域性過濾器,針對單個路由。
- 在springcloud gateway元件中提供了大量內建的區域性過濾器,對請求和響應做過濾操作。
- 遵循約定大於配置的思想,只需要在配置檔案配置區域性過濾器的名稱,併為其指定對應的值,就可以讓其生效。
- GlobalFilter:全域性過濾器,針對所有路由。
- 不需要特殊的配置,系統初始化的時候自動載入,並作用在每個路由上。
- gateway的核心功能也是通過內建的全域性過濾器來完成的。
- 自定義全域性過濾器的步驟:
- 實現GlobalFilter和Ordered介面
- 複寫方法
- 完成邏輯處理