Gateway


1.為什么需要gateway作為網關/路由

在微服務框架中,我們各個微服務都不是直接暴露給其他服務來調用的。但假如有一個用戶知道了一個服務的ip:端口號:url:訪問參數,就能直接訪問你,再進一步,如果這個用戶開始惡意訪問、惡意攻擊,就會摧毀咱們的微服務系統。所以需要一個網關對我們的微服務進行保護。

網關完成對微服務保護的核心:過濾器。

 

2.過濾方式

  • pre:在轉發之前執行,一般用來做參數校驗、權限校驗、流量監控、日志輸出、協議轉換。
  • post:在后端響應之后,但沒有返回給前端之前執行,一般用來作響應頭和相應內容的修改、流量監控、日志輸出。

 

3.兩種過濾器類型

  • GatewayFilter:局部過濾器,針對單個路由。
    • 在springcloud gateway組件中提供了大量內置的局部過濾器,對請求和響應做過濾操作。
    • 遵循約定大於配置的思想,只需要在配置文件配置局部過濾器的名稱,並為其指定對應的值,就可以讓其生效。
  • GlobalFilter:全局過濾器,針對所有路由。
    • 不需要特殊的配置,系統初始化的時候自動加載,並作用在每個路由上。
    • gateway的核心功能也是通過內置的全局過濾器來完成的。
    • 自定義全局過濾器的步驟:
      • 實現GlobalFilter和Ordered接口
      • 復寫方法
      • 完成邏輯處理  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM