網關
網關基礎知識
RGW全稱 Red GateWay :小紅書網關(網關英文:Gateway; 接入網關:Access Gateway)
網關(通用):Gateway
接入網關:API Gateway、Access Gateway
業務網關:Business Gateway
網關服務器:Gateway Server
網關設備:Gateway Device
1.2 GSLB & LB
下面簡明闡述 LB 和 GSLB 的含義、區別及應用場景:
1. LB(負載均衡,Load Balancer)
含義
- LB 是 “Load Balancer” 的縮寫,中文意思是負載均衡。
- 就是將用戶的網絡流量或請求合理分配到多臺后端服務器,從而提升系統吞吐、保證高可用性、防止單點故障。
典型類型
- L4 LB(四層負載均衡):基于 TCP/UDP 層(如 LVS)
- L7 LB(七層負載均衡):基于 HTTP/HTTPS 層(如 Nginx、HAProxy)
應用場景
- 一個機房、一個數據中心中對業務服務器的流量分擔
- 網站、API 接口、App 后端等本地流量調度
2. GSLB(全局服務器負載均衡,Global Server Load Balancing)
含義
- GSLB 是 “Global Server Load Balancing” 的縮寫,中文通常叫全局負載均衡 或 全局服務器負載均衡。
- 是在不同地域、不同數據中心/機房,根據用戶的地理位置、網絡狀況等,把流量智能分配到多個跨地域的業務節點/機房/云上資源。
主要作用
- 用戶就近訪問,減少延遲、提升體驗
- 業務級容災:主節點出故障可自動切換到其它區域節點
- 跨地區流量調度,例如 CDN、全球化應用部署
實現方式
- 常采用智能 DNS(解析時返回最佳節點的IP)
- 或通過“Anycast”/全局流量調度設備實現
應用場景
- 互聯網公司在全國或全球多地部署服務(如 B 站、阿里、騰訊、Netflix)
- 災備、多活、就近服務等需求
- 全球 CDN 和視頻分發加速
3. 區別總結
項目 | LB | GSLB |
---|---|---|
全稱 | Load Balancer | Global Server Load Balancer |
級別 | 一般針對單一機房/數據中心 | 跨多個機房/數據中心/地理區域 |
目標 | 服務器實例之間流量均衡 | 節點/機房/區域之間流量智能調度 |
技術 | TCP轉發、反向代理等 | 智能DNS、Anycast、全局調度平臺 |
主要場景 | 本地高可用/擴容 | 跨地域容災、全球多點服務、就近接入 |
4. 總結
- LB:本地(單個機房或云區)的負載均衡,分發流量到多臺后端服務器,提高可用性和擴展性。
- GSLB:跨地域/機房/云的流量調度,用戶訪問時根據地域、健康檢測等分配到最優的數據中心,保障全球流量智能分發和業務連續性。
如需更深入的架構細節或實際產品選型(如 AWS ELB/GSLB、阿里云全局流量調度等)可補充說明。
二、網關設計
互聯網公司的接入網關(API Gateway/Access Gateway)和業務網關(Business Gateway)在系統架構中擔負著不同的職責,合理的設計對于高可用、高擴展、安全性至關重要。以下分別針對接入網關和業務網關的設計思路、常見功能、架構建議、實現要點進行說明。
一、接入網關(API Gateway/Access Gateway)
1. 定義和作用
- 定義:服務于所有客戶端請求的統一入口,負責流量接入、協議轉換、安全驗證等。
- 作用:
- 屏蔽后端架構細節,對外提供統一API接口
- 統一安全校驗(如認證、鑒權、IP黑白名單、流控)
- 動靜態內容分發
- 負載均衡、限流、降級等
2. 設計要點
請求處理流程
Client -> [Access Gateway] -> [業務網關/后端服務]
常見功能
- 認證鑒權(如OAuth2/JWT/Session等)
- HTTPS接入與證書管理
- 流量控制與限流(如qps限制、用戶維度容量保護)
- 日志采集與監控
- 熔斷與降級
- 請求路由與API聚合
- 協議轉換(如HTTP2、WebSocket)
- 安全防護(SQL注入、XSS、CC攻擊防護)
- 動態配置、灰度發布、AB測試支持
架構建議
- 高可用分布式部署:通過反向代理(如Nginx、Envoy、Kong等)+ 服務實例自注冊發現。
- 網關可擴展:支持自定義插件擴展,集成日志、監控、鑒權等模塊。
- 支持橫向擴展:無狀態設計,通過LB分流。
- 管控臺和配置中心:需配備可視化管理入口,動態管理路由、限流策略等。
示例架構
|--------------------|
| Client(Mobile,Web)|
|--------------------||--------------- [負載均衡]| Access GW |-----> 鑒權、認證、流控、日志...---------------|--------------- | 業務網關層 |-----> 各業務微服務---------------|---------------| 數據服務等 |---------------
二、業務網關(Biz Gateway)
1. 定義和作用
- 定義:處于接入網關與業務服務之間的中樞系統,聚合/編排多個后端微服務,為特定業務場景提供統一接口。
- 作用:
- 面向業務、協議、領域整合
- API聚合(組合調用多個后端服務)
- 灰度發布、服務編排
- 策略路由、服務適配(如A/B Test或根據不同條件路由到不同服務)
- 隱藏后端復雜性或服務拆分細節
2. 主要功能
- 業務API聚合和編排
- 二次鑒權、用戶授權、業務日志補全
- 針對多版本/多租戶的路由
- 業務容錯、補償、重試機制
- 域數據緩存(如用戶畫像、短時性業務數據緩存)
- 上下文傳遞與透傳(TraceId、用戶態)
3. 架構與設計要點
- 分層架構:解耦通用接入邏輯和封裝業務邏輯
- 服務聚合/編排:如GraphQL、BFF(Backend For Frontend)模式
- 高內聚低耦合:可靈活攔截、改寫、路由、容錯
- 異步調用/并發聚合:為前端提供更快響應
- 可觀測:埋點、指標、鏈路追蹤
- 灰度、回滾支持:config中心驅動,動態切流
三、設計落地建議
1. 選型建議
- 接入網關:
- 業界主流可選Nginx、Kong、Envoy、APISIX
- 云原生可考慮Kubernetes Ingress Controller(如Istio、Traefik)
- 業務網關:
- 自研居多(因面向具體業務編排和策略強)
- GraphQL/BFF架構適合前端多端需求和API聚合
2. 典型設計模式
- 三層網關模式:負載均衡→接入網關→業務網關
- 多級限流與隔離: 在接入和業務網關分別限流,隔離影響范圍
- 服務注冊與發現: 可用Consul、Eureka等
3. 典型數據流
[用戶請求] -> [負載均衡] -> [接入網關] -> [業務網關] -> [后端服務/微服務]
四、實際案例拓展
阿里/騰訊等互聯網公司參考案例
- 接入網關:OPGateway、Tengine、APISIX等
- 業務網關:API聚合層(如淘寶的API Gateway有獨立的「業務聚合網關」層)
- 高并發下機制:如分片限流、調度隔離、彈性擴容
五、總結
- 接入網關偏通用側重安全和接入管控,業務網關側重業務聚合與策略隔離編排
- 兩者解耦,便于橫向擴展、針對不同需求演進,保障架構穩定性與靈活性
如果需要參考具體的開源網關或業務編排解決方案,也可以給出更詳細的案例或代碼片段。