## 基本介紹
* Spring Cloud Gateway
`Spring Cloud Gateway`是基于`Spring`生態系統之上構建的`API`網關,包括:`Spring 5.x`,`Spring Boot 2.x`和`Project Reactor`。`Spring Cloud Gateway`旨在提供一種簡單而有效的方法來路由到`API`,并為它們提供跨領域的關注點,例如:`安全性`,`監視/指標`,`限流`等。
* 什么是服務網關
`API Gateway(APIGW / API 網關)`,顧名思義,是系統對外的唯一入口。`API`網關封裝了系統內部架構,為每個客戶端提供定制的API。 近幾年來移動應用與企業間互聯需求的興起。從以前單一的Web應用,擴展到多種使用場景,且每種使用場景對后臺服務的要求都不盡相同。 這不僅增加了后臺服務的響應量,還增加了后臺服務的復雜性。隨著微服務架構概念的提出,API網關成為了微服務架構的一個標配組件。
* 為什么要使用網關
微服務的應用可能部署在不同機房,不同地區,不同域名下。此時客戶端(瀏覽器/手機/軟件工具)想 要請求對應的服務,都需要知道機器的具體 IP 或者域名 URL,當微服務實例眾多時,這是非常難以記憶的,對 于客戶端來說也太復雜難以維護。此時就有了網關,客戶端相關的請求直接發送到網關,由網關根據請求標識 解析判斷出具體的微服務地址,再把請求轉發到微服務實例。這其中的記憶功能就全部交由網關來操作了。
* 核心概念
`路由(Route)`:路由是網關最基礎的部分,路由信息由 ID、目標 URI、一組斷言和一組過濾器組成。如果斷言 路由為真,則說明請求的 URI 和配置匹配。`斷言(Predicate)`:Java8 中的斷言函數。Spring Cloud Gateway 中的斷言函數輸入類型是 Spring 5.0 框架中 的 ServerWebExchange。Spring Cloud Gateway 中的斷言函數允許開發者去定義匹配來自于 Http Request 中的任 何信息,比如請求頭和參數等。`過濾器(Filter)`:一個標準的 Spring Web Filter。Spring Cloud Gateway 中的 Filter 分為兩種類型,分別是 Gateway Filter 和 Global Filter。過濾器將會對請求和響應進行處理。
- 項目介紹
- 項目聲明
- 項目簡介
- 架構設計
- 項目亮點功能介紹
- 技術棧介紹
- 核心功能
- 運行環境
- 項目更新日志
- 文檔更新日志
- F&Q
- 部署教程
- 環境準備
- JDK安裝
- JDK1.8,17共存
- maven
- 分布式緩存Redis
- 單機版
- 集群
- 注冊&配置中心alibaba/nacos
- 介紹
- Nacos安裝
- Nacos配置中心
- Nacos注冊發現
- Nacos生產部署方案
- 服務監控-BootAdmin
- 基本介紹
- 如何使用
- 整合Admin-Ui
- 客戶端配置
- 鏈路追蹤
- 基本介紹
- SkyWalking-1
- Skywalking-1
- 消息隊列
- Kafka
- docker安裝kafka
- Linux集群
- Maven私服
- nexus安裝部署
- nexus使用介紹
- 全文搜索elasticsearch
- windows集群搭建
- docker安裝es
- ElasticHD
- linux集群部署
- 統一日志解決方案
- 日志解決方案設計
- 介紹與相關資料
- ELK安裝部署
- elasticsearch 7.5
- logstash-7.5
- kibana-7.5
- filebeat
- 服務監控-Prometheus
- Prometheus安裝配置
- Prometheus介紹
- grafana
- 持續集成部署CICD
- 自動化部署Jenkins
- 安裝部署win
- 打包發布遠程執行
- 安裝部署linux
- jenkins+gitlab+docker容器化工程自動化部署
- Git
- CICD說明
- 阿里云效
- CentOS_MYSQL安裝
- docker
- 安裝
- Docker安裝Nginx
- Docker部署啟動springboot
- dockerCompose
- harbor
- Docker私有鏡像倉庫
- Portainer
- Docker遠程連接設置
- 打包工程
- 必要啟動模塊
- 核心模塊
- 登錄認證
- 緩存功能
- 日志模塊
- 分布式鎖
- 消息隊列
- 異常處理
- 系統接口
- 參數驗證
- es檢索
- 數據導出
- 系統設計
- 系統總體架構
- 擴展模塊(可選)
- 限流熔斷alibaba/sentinel
- 使用Sentinel實現gateway網關及服務接口限流
- Sentinel使用Nacos存儲規則及同步
- 服務調用Feign
- Feign基本介紹
- 如何使用
- 負載均衡
- 請求超時
- 請求攔截器
- 分布式任務調度
- XXL-JOB
- 分布式事務
- TX-LCN
- Seata
- Seata原理解析
- 數據庫分庫分表
- swagger文檔
- 分布式ID生成器解決方案
- 服務網關CloudGateway
- 基本介紹
- 使用網關
- 路由配置
- 全局過濾器
- 服務認證授權架構設計
- 認證服務流程
- 授權服務流程
- 系統冪等性設計與實踐
- 分布式日志鏈路跟蹤
- 實時搜索系統設計
- 應用性能
- 壓力測試工具
- Apache JMeter介紹和安裝
- ApacheJMeter使用
- JVM
- JVM性能調優
- 常見JVM內存錯誤及解決方案
- JVM 分析工具詳解
- Spring Cloud性能調優
- Linux運維
- Linux 常用命令
- Linux開啟端口