Gateway-路由-規則配置

1.路由

路由是指網絡設備(如路由器、交換機、或軟件)根據一張路徑表(路由表),為數據包選擇一條從源地址到目標地址的傳輸路徑的過程。它就像快遞配送系統,查看地址并決策下一步往哪里送”,該過程就是"路由"

1.1 核心職責與功能

1. 請求映射與分發 (The Map & Dispatcher)

這是路由最根本、最核心的職責。

  • 是什么:根據預先定義的規則,將一個輸入的請求(無論是IP數據包還是HTTP請求)精確地映射并分發到對應的目標或處理單元上。
  • 怎么做:
    • 網絡層:查看IP包頭的目標IP地址,查詢路由表,決定從哪個物理接口轉發出去。
    • 應用層/API網關:查看HTTP請求的URL路徑和方法(GET/POST等),將其分發給相應的控制器(Controller)函數或微服務。
    • 前端:根據瀏覽器地址欄的URL路徑,決定渲染哪個視圖(View)或組件(Component)。
  • 類比:公司的總機接線員,根據你要找的部門名稱,把你的電話轉接到對應的分機上。
2. 路徑選擇與優化 (The Pathfinder)

在網絡層路由中,這一功能至關重要。

  • 是什么:為數據包選擇一條從源到目的地的最佳路徑。
  • 怎么做:
    • 路由協議(如OSPF、BGP)會動態地學習網絡拓撲結構,計算不同路徑的“成本”(基于跳數、帶寬、延遲等因素)。
    • 維護一張路由表,其中包含到達各個網絡的最佳路徑(下一跳)。
    • 在出現網絡故障或擁堵時,能夠自動選擇備用路徑,確保網絡韌性。
  • 類比:地圖導航軟件(如高德、Google Maps),為你規劃出最快、最短或最經濟的路線,并在遇到堵車時重新規劃。
3. 隔離與安全 (The Security Guard)

路由提供了最初的、基于路徑的隔離和安全檢查點。

  • 是什么:通過路由規則,實現流量的邏輯隔離和初步安全過濾。
  • 怎么做:
    • 網絡ACL:在路由器上設置訪問控制列表,例如“拒絕所有從A網段發往B網段的流量”。
    • API網關:可以將管理接口(如 /actuator)的路由與對外API的路由隔離開,并對不同路由實施不同的認證策略。
    • VLAN間路由:在不同虛擬局域網(VLAN)之間進行路由,既實現了通信,又保持了廣播域的隔離。
  • 類比:小區的大門保安,只允許業主進入相應的單元樓(路由到正確目的地),而將閑雜人等拒之門外(丟棄非法請求)。
4. 抽象與解耦 (The Translator)

在現代軟件開發中,路由提供了強大的抽象能力。

  • 是什么:將對內部實現的依賴轉變為對穩定接口(URL路徑)的依賴。
  • 怎么做:
    • 后端:用戶只需要記住 /users 這個端點就能獲取用戶信息,而無需知道背后是哪個服務器、哪個函數在處理。即使后臺服務重構、更換編程語言,只要端點不變,客戶端就無需修改。
    • 前端:URL路徑 /about 對應“關于我們”頁面,無論這個頁面背后的組件代碼如何變化,這個鏈接始終有效。
    • API網關:可以將內部復雜的微服務結構(如 user-service:8080, order-service:8081)抽象成統一的、對外友好的API路徑(如 /api/v1/users, /api/v1/orders)。
  • 類比:餐廳的菜單。顧客只需點“宮保雞丁”(URL路徑),而不用關心它是哪個廚師(后端服務)、在哪個廚房(服務器)做的。
5. 負載均衡 (The Traffic Cop)

通常與路由緊密結合的功能,尤其是在網關和現代網絡設備中。

  • 是什么:將到達同一目的地的流量,分攤到多個相同的處理單元上。
  • 怎么做:
    • API網關:定義一條路由規則 path: /user/**,指向后端3個用戶微服務實例。網關會將請求以輪詢、隨機等策略分發到這些實例上,避免單個實例過載。
    • 網絡層:ECMP(等價多路徑路由)可以將去往同一目標的流量,通過多條不同的網絡鏈路同時傳輸。
  • 類比:銀行開放多個窗口辦理同類業務,大堂經理將顧客引導到人最少的窗口。
6. 流量控制與治理 (The Flow Regulator)

這是路由在微服務架構中的高級功能。

  • 是什么:基于路由對特定類型的流量實施策略。
  • 怎么做:
    • 灰度發布/金絲雀發布:將帶有特定Header(如 version: canary)的請求路由到新版本的服務,而其他請求依然路由到舊版本服務。
    • 限流與熔斷:對匹配特定路由(如 /api/expensive-operation)的請求進行速率限制。如果該路由對應的服務不可用,則快速熔斷,返回錯誤,避免雪崩效應。
    • A/B測試:將一部分用戶流量路由到A版本UI,另一部分路由到B版本UI。

2.配置路由

創建并編寫application-route.yml路由配置文件

補充application.yml文件(包含route):

為gateway模塊下的pom文件添加負載均衡依賴

為service-order模塊下的OrderController類添@RequestMapping("/api/order")注解

3.測試路由

通過訪問我們之前寫過的readDb接口來測試路由是否配置成功

啟動GatewayMainAppincation和任意一個Order微服務

瀏覽器訪問localhost/api/order/readDb,瀏覽器和idea控制太輸出以下信息,說明路由配置成功

4.總結

路由的核心職責是作為一個智能的決策點,通過一套規則系統,高效、可靠、安全地將請求指引到其正確的目的地,并在此過程中賦予系統靈活性、可擴展性和可維護性。

核心職責

網絡設備 (路由器)

后端/API網關

前端框架 (React Router等)

請求映射與分發

根據目標IP查表轉發

根據URL路徑分發到服務/控制器

根據URL渲染對應組件

路徑選擇與優化

核心功能,動態選擇最佳路徑

不常用

不涉及

隔離與安全

通過ACL過濾網絡流量

認證、授權、CORS、IP黑白名單

路由守衛(攔截未登錄訪問)

抽象與解耦

隱藏內部網絡結構

隱藏微服務架構,提供統一API

將URL與組件解耦

負載均衡

支持(如ECMP)

核心功能,分發到服務實例

不涉及

流量控制與治理

策略路由(Policy-Based Routing)

核心功能,限流、熔斷、灰度發布

不涉及

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/97942.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/97942.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/97942.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BP神經網絡多輸入多輸出回歸預測+SHAP可解釋分析+新數據預測(MATLAB完整源碼)

該MATLAB代碼實現了一個基于前饋神經網絡的回歸預測模型,并結合SHAP(Shapley Additive exPlanations)值分析進行特征重要性評估。

【51單片機單按鍵控制2個LED循環閃爍】2022-12-7

緣由--CSDN問答 #include "reg52.h" sbit LED1P1^0; sbit LED2P1^5; sbit anjnP3^2; void main() {unsigned char H0,L0,Ys0;LED1LED20;while(1){if(anjn0&&Ys0){if(L>3)L0;while(anjn0);}if(L0)LED1LED20;//0表示亮1表示熄else if(L1){LED11;LED20;}else…

RustFS企業級高可用部署全指南:多活架構與跨數據中心實戰

作為一名深耕分布式存儲多年的架構師,我在金融、AI和物聯網領域多次成功落地RustFS高可用集群。本文將分享如何構建99.95%可用性的RustFS企業級部署方案,涵蓋從單數據中心到多活架構的全場景實踐。 一、高可用架構設計核心 RustFS的高可用性建立在分布式…

leetcode算法題記錄:

14、最長公共前綴編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。示例 1:輸入:strs ["flower","flow","flight"] 輸出:"fl"示例 2&…

HarmonyOS 應用開發深入淺出:基于 Stage 模型與 ArkUI 的聲明式開發實踐

好的,請看這篇關于 HarmonyOS 應用開發中 Stage 模型與 ArkUI 聲明式開發實踐的技術文章。 HarmonyOS 應用開發深入淺出:基于 Stage 模型與 ArkUI 的聲明式開發實踐 引言 隨著 HarmonyOS 的不斷發展,其應用開發范式也經歷了重大的演進。從…

web服務解析案例

題目 模擬一個基于 DNS(域名系統)和 Nginx 的 Web 服務架構。 整體是模擬從用戶輸入域名,經 DNS 解析找到 Web 服務器,再由 Web 服務器(Nginx)提供內容的完整 Web 服務流程。 主機規劃主機名ip地址軟件說明…

揭示電解液與界面奧秘,理論計算賦能水系電池創新

揭示電解液與界面奧秘,理論計算賦能水系電池創新隨著全球對高安全、低成本儲能需求的激增,水系電池成為了下一代電池技術的重要候選者。然而,其性能瓶頸,如循環壽命、能量密度等,深深根植于復雜的電解液化學和電極-電解…

xv6實驗:Ubuntu2004 WSL2實驗環境配置(包括git clone網絡問題解決方法)

基本配置參考MIT6.S081 Ubuntu22.04 WSL2實驗環境配置,wsl安裝配置參考本欄的另一篇文章WSL2(ubuntu20.04)vscode聯合開發(附遷移方法) 如執行: git clone git://github.com/mit-pdos/xv6-riscv.git出現錯誤,或者無法clone情況,可以掛一個代理,然后按如…

reversed()方法

在 Python 中,reversed() 是一個內置函數,用于返回一個反向迭代器對象。這個函數可以處理多種序列類型的數據,如列表、元組、字符串、范圍對象等,通過它可以方便地實現序列元素的反向遍歷。下面從基本語法、適用對象、使用示例等方…

根據文本區域`textarea`的內容調整大小`field-sizing:content`

field-sizing:content 新屬性,可以讓 文本域textarea 根據輸入的內容自動調整大小, 無需使用javascript See the Pen 根據文本區域textarea的內容調整大小field-sizing:content by liu874396180 ( liu874396180) on CodePen.

Python3練習題

上一節中全面講解了基礎知識,為了鞏固知識點,當然最好的方法就是練習了。 練習 1:變量類型轉換與算術運算 需求:接收用戶輸入的兩個數字(可能是整數或字符串格式),轉換為浮點數后計算 “冪運算、…

Motioncam Color S + 藍激光:3D 視覺革新,重塑工業與科研應用新格局

在工業自動化、科研探索及智能檢測等前沿領域,對物體進行高精度、高速度且穩定可靠的三維成像,始終是推動技術進步與效率提升的關鍵訴求。過往的 3D 成像設備,常因精度欠佳、對復雜材質適應性差、難以應對動態場景等局限,在實際應…

用html5寫一個第一視角的摩托車開車游戲,畫上摩托車把手,把手兩側放上可操控方向的按鈕,再加上,前進和減速的按鈕

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>第一視角摩托車</title><style>html…

SpringMVC 系列博客(一):基礎概念與注解開發入門

目錄 一、引言 二、MVC 模式&#xff1a;SpringMVC 的設計基石 2.1 MVC 三大組件 2.2 主流 MVC 框架對比 2.3 MVC 模式的核心優勢 三、SpringMVC 框架&#xff1a;是什么&#xff1f;為什么學&#xff1f; 3.1 什么是 SpringMVC&#xff1f; 3.2 為什么要學 SpringMVC&a…

Java 字符串操作教程:三個任務完整復現與解析

這次是完成一些小任務來試試身手&#xff0c;免得生疏&#xff1a; 編寫程序&#xff0c;使用charAt和length方法&#xff0c;將字符串"HelloWorld"拆分為"Hello"和"World"兩個子串并輸出。 設計一個方法&#xff0c;利用indexOf和lastlndexOf&a…

向量技術研究報告:從數學基礎到AI革命的支柱

1. 向量的數學本質與歷史演變 1.1 核心定義與數學表示 向量是同時具有大小&#xff08;Magnitude&#xff09;和方向&#xff08;Direction&#xff09;的量&#xff0c;在數學上被嚴格定義為向量空間中的元素。與僅有大小的標量&#xff08;Scalar&#xff09;不同&#xff0c…

Qt QHorizontalStackedBarSeries詳解

1、概述QHorizontalStackedBarSeries 是 Qt Charts 模塊中的一個類&#xff0c;用于創建水平堆疊條形圖。它繼承自 QAbstractBarSeries 類&#xff0c;允許將多個數據系列堆疊在一起顯示&#xff0c;每個條形由多個部分組成&#xff0c;這些部分共同構成一個完整的條形&#xf…

《股票智能查詢與投資決策輔助應用項目方案》

前引&#xff1a;本股票智能查詢與投資決策輔助應用通過整合多源金融數據&#xff0c;運用量化分析 機器學習技術&#xff0c;為普通投資者提供全方位股票信息服務和個性化投資建議。系統不僅解決了傳統工具 “數據分散、分析復雜” 的問題&#xff0c;更通過人性化交互和直觀…

從零開始構建Kubernetes Operator:一個完整的深度學習訓練任務管理方案

從零開始構建Kubernetes Operator&#xff1a;一個完整的深度學習訓練任務管理方案一、引言二、為什么需要Operator&#xff1f;1. Controller vs Operator&#xff1a;本質區別2. 有狀態服務 vs 無狀態服務的挑戰三、項目架構設計3.1整體架構圖3.2核心組件4.核心實現解析1. CR…

第二十二篇|新世界語學院教育數據深度解析:學制函數、能力矩陣與升學圖譜

第二十二篇&#xff5c;新世界語學院教育數據深度解析&#xff1a;學制函數、能力矩陣與升學圖譜 系列主題&#xff1a;500所日本語言學校結構數據工程 關鍵詞&#xff1a;新世界語學院、東京新宿、學制函數建模、JLPT能力矩陣、升學網絡、教育數據工程 一、合規與法人建模&…