專題十六:虛擬路由冗余協議——VRRP

一、VRRP簡介

VRRP(Virtual Router Redundancy Protocol)虛擬路由冗余協議通過把幾臺設備聯合組成一臺虛擬的設備,使用一定的機制保證當主機的下一跳設備出現故障時,及時將業務切換到備份設備,從而保持通訊的連續性和可靠性。

VRRP的運行結果是在局域網上提供一個虛擬路由器。

本例中:

局域網中有兩個路由器R1R2R1端口IP地址為192.168.1.251/24R2端口IP地址為192.168.1.252/24

配置R1R2關聯到同一個虛擬路由器,該虛擬路由器使用192.168.1.254做為端口IP地址。

所有的PC使用192.168.1.254做為默認網關。

VRRP可以分為VRRP for IPv4和VRRP for IPv6(簡稱VRRP6)。VRRP for IPv4支持VRRPv2和VRRPv3,而VRRP for IPv6僅支持VRRPv3。對IPv4網絡而言,VRRP協議報文封裝在IP報文中,發送到分配給VRRP的組播地址,目的地址是224.0.0.18,TTL是255,協議號是112。

為什么需要VRRP?

現網中的主機使用缺省網關與外部網絡聯系時,如果網關的設備出現故障,與其相連的主機將與外界失去聯系,導致業務中斷

二、VRRP基本概念

VRRP虛擬MAC地址為00-00-5E-00-01-組id值

VRRP優先級1-255,默認優先級100,VRRP協議默認開啟了搶占。默認發送免費ARP報文時間間隔180秒。

VRRP角色分為Master和Backup。Master承載轉發報文任務,Backup作為備份,一旦Master出現故障,Backup接替成為Master

概念含義
虛擬路由器(Virtual Router)又稱為VRRP備份組,由一個Master設備和若干個Backup設備組成,被當作一個共享局域網內主機的缺省網關。它包括了一個虛擬路由器標識符和一組虛擬IP地址。
VRID虛擬路由器的靿栃標識。具有相同VRID的一組設備構成一個虛擬路由器。
虛擬IP地址(Virtual IP Address)虛擬路由器的IP地址,一個虛擬路由器可以有一個或多個IP地址,由用戶配置。
虛擬MAC地址(Virtual MAC Address)虛擬路由器根據虛擬路由器ID生成的MAC地址。一個虛擬路由器擁有一個虛擬MAC地址,格式為:00-00-5E-00-01-{VRID}(VRRP for IPv4)或者00-00-5E-00-02-{VRID}(VRRP for IPv6)。當虛擬路由器回應ARP請求(VRRPfor IPv4)或者NS請求(VRRP for IPv6)時,使用虛擬MAC地址,而不是接口的真實MAC地址。
IP地址擁有者(IP Address 0wner)如果一個VRRP設備將虛擬路由器IP地址作為真實的接口地址,則該設備被稱為IP地址擁有者。如果IP地址擁有者是可用的,通常它將成為Master。
主IP地址(Primary IP Address)從接口的真實IP地址中選出來的一個可用IP地址,通常選擇配置的第一個IP地址。VRRP廣播報文使用主IP地址作為 IP報文的源地址。
VRRP設備運行VRRP協議的設備,它可能屬于一個或多個虛擬路由器。
Master設備承載轉發報文任務的VRRP設備。
Backup設備一組沒有承擔轉發任務的VRRP設備,當Master設備出現故障時,它們將通過競選成為新的Master設備。
優先級(Priority)虛擬路由器中VRRP設備的優先級。虛擬路由器根據優先級選舉出Master設備和Backup設備。
VRRP搶占模式在搶占模式下,如果Backup設備的優先級比當前Master設備的優先級高,則主動將自己切換成Master。
VRRP非搶占模式在非搶占模式下,只要Master設備沒有出現故障,Backup設備即使隨后被配置了更高的優先級也不會成為Master設備。
Adver_Interval定時器Master設備會根據該定時器定期發送VRRP通告報文。
Master_Down定時器Backup設備在該定時器超時后,會變為Master狀態。

三、VRRP報文格式

VRRP只有一種報文,Advertisement報文基于組播方式發送,因此只能在同一個廣播域傳遞 Advertisement報文的目的組播地址為224.0.0.18

VRRP報文字段含義如下:

Ver:VRRP目前有兩個版本,其中VRRPv2僅適用于IPv4網絡,VRRPv3適用于IPv4IPv6兩種網絡。

Virtual Rtr ID:該報文所關聯的虛擬路由器的標識。

Priority:發送該報文的VRRP路由器的優先級。

Count IP Addrs:該VRRP報文中所包含的虛擬IP地址的數量。

Auth TypeVRRP支持三種認證類型:不認證、純文本密碼認證、MD5方式認證,對應值分別為012

Adver Int:發送VRRP通告消息的間隔。默認為1

IP Address:所關聯的虛擬路由器的虛擬IP地址,可以為多個。

Authentication Data:驗證所需要的密碼信息。

四、VRRP狀態機

VRRP協議中定義了三種狀態機:初始狀態(Initialize)、活動狀態(Master)、備份狀態(Backup)。其中,只有處于Master狀態的設備才可以轉發那些發送到虛擬IP地址的報文。

五、VRRP協議狀態

Master狀態

Backup狀態

1.定期(ADVER_INTERVAL)發送VRRP報文。
2.以虛擬MAC地址響應對虛擬IP地址的ARP請求。
3.轉發目的MAC地址為虛擬MAC地址的IP報文。
4.默認允許ping通虛擬IP地址。
5.當多臺設備同時為Master時,若設備收到與自己優先級相同的報文時,會進一步比較IP地址的大小。如果收到報文的源IP地址比自己大,則切換到Backup狀態,否則保持Master狀態。
?
1.接收Master設備發送的VRRP報文,判斷Master設備的狀態是否正常。
2.對虛擬IP地址的ARP請求,不做響應。
3.丟棄目的MAC地址為虛擬MAC地址的IP報文。
4.丟棄目的IP地址為虛擬IP地址的IP報文。
5.如果收到優先級和自己相同或者比自己優先級大的報文時,重置MASTER_DOWN定時器,不進一步比較IP地址的大小。
?

六、VRRP主備選舉

  • 優先級不同

  • 開啟VRRP進入初始化狀態

  • 設備根據VRRP優先級,計算超時定時器,時間短的進入Master狀態

  • 開始發送VRRP報文,優先級高的被選舉為Master設備

  • 發送免費ARP檢測地址沖突,以及通告設備和主機(交換機和主機無需進行ARP解析和泛洪,縮短故障時間)

  • 優先級相同

  • 開啟VRRP進入初始化狀態

  • 設備根據VRRP優先級,計算超時定時器,同時進入Master狀態

  • 開始發送VRRP報文,優先級相同,繼續對比IP地址,越大越優,IP地址小的切換為Backup狀態

  • 發送免費ARP檢測地址沖突,以及通告設備和主機

七、VRRP負載分擔

負載分擔是指多個VRRP備份組同時承擔業務,VRRP負載分擔與VRRP主備備份的基本原理和報文協商過程都是相同的。同樣對于每一個VRRP備份組,都包含一個Master設備和若干Backup設備。

VRRP備份組1:DeviceA作為Master設備,DeviceB作為Backup設備。

VRRP備份組2:DeviceB作為Master設備,DeviceA作為Backup設備。

一部分用戶將VRRP備份組1作為網關,另一部分用戶將VRRP備份組2作為網關。這樣便可實現分擔業務流量又相互備份的目的。

八、VRRP路由監控與接口聯動

配置VRRP備份組后,VRRP備份組之間的主備切換通過VRRP通告報文進行協商。當網絡中出現故障(比如接口Down或鏈路故障)或網絡進行調整時,VRRP備份組并不能及時感知并進行狀態切換,或者當VRRP備份組在主備切換完成后未能及時聯動路由,會造成流量轉發故障。

路由監視配置思路:

DeviceA上的VRRP備份組的優先級為120,狀態為Master;

DeviceB上的VRRP備份組的優先級為100,狀態為Backup,為立即搶占;

DeviceA上VRRP監視地址為10.1.2.0/24網段的路由,在檢測到10.1.2.0/24網段信息為不可達時,DeviceA的優先級降低40(優先級降低后必須小于100)。

接口聯動配置思路:

DeviceA上的VRRP備份組的優先級為120,狀態為Master;

DeviceB上的VRRP備份組的優先級為100,狀態為Backup,為立即搶占;

在DeviceA上配置監視上行接口interface1,當interface1狀態變為Down時,DeviceA降低自身優先級,通過VRRP通告報文協商,DeviceB搶占成為Master設備,承擔流量轉發

九、VRRP的配置實現

1.VRRP常用基本配置

1.創建VRRP備份組并給備份組配置虛擬IP地址

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id  virtual-ip virtual-address

注意:各備份組之間的虛擬IP地址不能重復;同屬一個備份組的設備接口需使用相同的VRID

2.? 配置路由器在備份組中的優先級

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id priority priority-value

注意:通常情況下,Master設備的優先級應高于Backup設備。

3.? 配置備份組中設備的搶占延遲時間

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode timer delay delay-value

4.? 配置VRRP備份組中設備采用非搶占模式

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode disable

缺省情況下,搶占模式已被激活。

5.? 配置VRRP備份組監視接口

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track interface interface-type interface-number [ increased value-increased | reduced value-decreased ]

可配置設備當檢測到上行接口或鏈路出現故障時,增加或者減少自身優先級,IP地址擁有者和Eth-trunk成員口不允許配置VRRP監視功能。

6.? 配置VRRP備份組聯動普通BFD會話

[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track bfd-session { bfd-session-id | session-name bfd-configure-name } [ increased value-increased | reduced value-reduced ]

如果選擇參數session-name bfd-configure-name,可以綁定靜態BFD會話或者標識符自協商的靜態BFD會話。如果選擇參數bfd-session-id,只能綁定靜態BFD會話。

2.VRRP基礎配置實例

配置要求:

R1與R2組成一個VRRP備份組,其中R1MasterR2Backup

Master設備故障恢復時采用搶占模式,搶占延時10秒;

Master設備監視上行接口狀態實現VRRP主備自動切換。

R1:

[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.1.253  24
[R1-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R1-GigabitEthernet0/0/0] vrrp vrid 1 priority 120
[R1-GigabitEthernet0/0/0] vrrp vrid 1 preempt-mode timer delay 10
[R1-GigabitEthernet0/0/0] vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30

R2:

[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.1.252 24
[R2-GigabitEthernet0/0/0] vrrp vrid 1 virtual-ip 192.168.1.254
[R2-GigabitEthernet0/0/0] vrrp vrid 1 priority 110

3.VRRP主備備份配置

HostA通過Switch雙歸屬到RouterA和RouterB。用戶希望實現:
正常情況下,主機以RouterA為默認網關接入Internet,當RouterA故障時,RouterB接替作為網關繼續進行工作,實現網關的冗余備份。RouterA故障恢復后,可以重新成為網關。
配置思路:
采用VRRP主備備份實現網關冗余備份,配置思路如下:
(1)配置各設備接口IP地址及路由協議,使各設備間網絡層連通。
(2)在RouterA和RouterB上配置VRRP備份組。其中,RouterA上配置較高優先級和20秒搶占延時,作為Master設備承擔流量轉發;RouterB上配置較低優先級,作為備用工業路由交換一體機,實現網關冗余備份。
配置步驟:
(1)配置設備間的網絡互連
# 配置設備各接口的IP地址,以RouterA為例。RouterB和RouterC的配置與RouterA類似,詳見配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit


# 配置RouterA、RouterB和RouterC間采用OSPF協議進行互連。以RouterA為例,RouterB和RouterC的配置與RouterA類似,詳見配置文件。

[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit


(2)配置VRRP備份組
# 在RouterA上創建VRRP備份組1,配置RouterA在該備份組中的優先級為120,并配置搶占時間為20秒。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111 //配置vrrp虛擬ip和vrid
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120 ? //默認優先級為100,RouterA設置優先級為120,該設備為Master
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20 ?//VRRP默認是搶占模式,設置搶占延時,避免頻繁出現主備切換
[RouterA-GigabitEthernet2/0/0] quit
# 在RouterB上創建VRRP備份組1,其在該備份組中的優先級為缺省值100。
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterB-GigabitEthernet2/0/0] quit


(3)驗證配置結果
# 完成上述配置以后,在RouterA和RouterB上分別執行display vrrp命令,可以看到RouterA在備份組中的狀態為Master,RouterB在備份組中的狀態為Backup。

4.VRRP負載分擔

HostA和HostC通過Switch雙歸屬到RouterA和RouterB。用戶希望HostA以RouterA為默認網關接入Internet,RouterB作為備份網關;HostC以RouterB為默認網關接入Internet,RouterA作為備份網關,以實現流量的負載均衡。
配置思路:
采用VRRP多網關負載分擔實現流量的負載均衡,配置思路如下:
(1)配置各設備接口IP地址及路由協議,使各設備間網絡層連通。
(2)在RouterA和RouterB上創建VRRP備份組1和VRRP備份組2,在備份組1中,配置RouterA為Master設備,RouterB為Backup設備;在備份組2中,配置RouterB為Master設備,RouterA為Backup設備,實現流量的負載均衡。
配置步驟:
(1)配置設備間的網絡互連
# 配置設備各接口的IP地址,以RouterA為例。RouterB和RouterC的配置與RouterA類似,詳見配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit


# 配置RouterA、RouterB和RouterC間采用OSPF協議進行互連。以RouterA為例,RouterB和RouterC的配置與RouterA類似,詳見配置文件。

[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit


(2)配置VRRP備份組
# 在RouterA和RouterB上創建VRRP備份組1,配置RouterA的優先級為120,搶占延時為20秒;RouterB的優先級為缺省值。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20
[RouterA-GigabitEthernet2/0/0] quit
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.111
[RouterB-GigabitEthernet2/0/0] quit


# 在RouterA和RouterB上創建VRRP備份組2,配置RouterB的優先級為120,搶占延時為20秒;RouterA的優先級為缺省值。
[

RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 virtual-ip 10.1.1.112
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 priority 120
[RouterB-GigabitEthernet2/0/0] vrrp vrid 2 preempt-mode timer delay 20
[RouterB-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 2 virtual-ip 10.1.1.112
[RouterA-GigabitEthernet2/0/0] quit


(3)驗證配置結果
#在RouterA上執行display vrrp命令,可以看到RouterA在備份組1中作為Master設備,在備份組2中作為Backup設備。
# 在RouterB上執行display vrrp命令,可以看到RouterB在備份組1中作為Backup設備,在備份組2中作為Master設備。

5.VRRP監視上行接口

局域網主機通過Switch雙歸屬到部署了VRRP備份組的RouterA和RouterB,其中RouterA為Master。
用戶希望當RouterA的上行接口GE1/0/0狀態Down時,VRRP備份組能夠及時感知并進行主備切換,由RouterB接替作為網關繼續承擔業務轉發,以減小接口狀態Down對業務傳輸的影響。
配置思路:
采用VRRP與接口狀態聯動實現對上行接口故障的感知及主備網關的切換,配置思路如下:
(1)配置各設備接口IP地址及路由協議,使網絡層路由可達。
(2)在RouterA和RouterB上配置VRRP備份組。其中,RouterA上配置較高優先級,作為Master設備承擔業務轉發;RouterB上配置較低優先級,實現冗余備份。
(3)在RouterA上配置VRRP與接口狀態聯動,監視上行接口GE1/0/0,實現RouterA到RouterC間鏈路故障時,VRRP備份組及時感知并進行主備切換。
操作步驟:
(1)配置設備間的網絡互連
# 配置設備各接口的IP地址,以RouterA為例。RouterB和RouterC的配置與RouterA類似,詳見配置文件。

<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] undo portswitch
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24
[RouterA-GigabitEthernet2/0/0] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] undo portswitch
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[RouterA-GigabitEthernet1/0/0] quit


# 配置RouterA、RouterB和RouterC間采用OSPF協議進行互連。以RouterA為例,RouterB和RouterC的配置與RouterA類似,詳見配置文件。
[RouterA] ospf 1
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
(2)配置VRRP備份組
# 在RouterA上創建VRRP備份組1,配置RouterA在該備份組中的優先級為120,并配置搶占延時為20秒。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20
[RouterA-GigabitEthernet2/0/0] quit


# 在RouterB上創建VRRP備份組1,其在該備份組中的優先級為缺省值100。

[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3
[RouterB-GigabitEthernet2/0/0] quit


(3)配置VRRP與接口狀態聯動
# 在RouterA上配置VRRP與接口狀態聯動,當監視的接口GE1/0/0狀態Down時,RouterA的優先級降低40。

[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] vrrp vrid 1 track interface gigabitethernet 1/0/0 reduced 40 ? //優先級從120-40=80,小于RouterB默認的100優先級,所以RouterB變為Master設備
[RouterA-GigabitEthernet2/0/0] quit


(4)驗證配置結果
# 完成上述配置后,在RouterA和RouterB上分別執行display vrrp命令,可以看到RouterA為Master設備,聯動的接口狀態為Up,RouterB為Backup設備。
?

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

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

相關文章

UE5 關卡序列

文章目錄 介紹創建一個關卡序列編輯動畫添加一個物體編輯動畫時間軸顯示秒而不是幀時間軸跳轉到一個確定的時間時間軸的顯示范圍更改關鍵幀的動畫插值方式操作多個關鍵幀 播放動畫 介紹 類似于Unity的Animation動畫&#xff0c;可以用來錄制場景中物體的動畫 創建一個關卡序列…

openbmb/MiniCPM-V-2_6 和 AIDC-AI/Ovis2-1B 的網絡結構體對比

openbmb/MiniCPM-V-2_6和Ovis2作為多模態大模型&#xff0c;在架構設計上既有共性也有顯著差異。以下從核心模塊、技術實現和任務適配三個維度展開對比分析&#xff1a; 一、核心模塊架構對比 1. 視覺編碼器 MiniCPM-V-2_6&#xff1a; 架構&#xff1a;基于SigLIP-400M輕量級…

鴻蒙學習筆記(5)-HTTP請求數據

一、Http請求數據 http模塊是鴻蒙內置的一個模塊&#xff0c;提供了網絡請求的能力。不需要再寫比較原始的AJAS代碼。 ps:在項目中如果要訪問網絡資源&#xff0c;不管是圖片文件還是網絡請求&#xff0c;必須給項目開放權限。 &#xff08;1&#xff09;網絡連接方式 HTTP數…

使用Redis5.X部署一個集群

文章目錄 1.用Redis5.x來創建Cluste2. 查看節點信息 nodes3. 添加節點 add-node4.刪除節點 del-node5.手動指定從節點 replicate6.檢查集群健康狀態 check 建議使用5.x版本。 首先&#xff0c;下載Redis&#xff0c;根據自己的環境選擇版本。 一鍵啟動Redis集群文件配置。 ech…

實現窗口函數

java 實現窗口函數 public class SlidingWin {public static void main(String[] args) {SlidingWin slidingWin = new SlidingWin();double v = slidingWin.SlidWin(2);System.out.println(v);}public double SlidWin(int k){int [] array =new int[]{2,4,5,6,9,10,12,23,1,…

Docker Compose 命令實現動態構建和部署

Docker Compose 命令實現動態構建和部署 一、編寫支持動態版本號的 docker-compose.yml version: 3.8services:myapp:build: context: . # Dockerfile所在目錄args:APP_VERSION: ${TAG:-latest} # 從環境變量獲取版本號&#xff0c;默認latestimage: myapp:${TAG:-latest} …

AI時代下 你需要和想要了解的英文縮寫含義

在AI智能時代下&#xff0c;越來愈多的企業都開始重視并應用以及開發AI相關產品&#xff0c;這個時候都會或多或少的涉及到英文&#xff0c;英文還好&#xff0c;但是如果是縮寫&#xff0c;如果我們沒有提前了解過&#xff0c;我們往往很難以快速Get到對方的意思。在這里&…

聊聊Doris的數據模型,如何用結構化設計解決實時分析難題

傳統 OLAP 系統的局限 在大數據實時分析領域&#xff0c;數據模型設計直接決定了系統的查詢性能、存儲效率與業務適配性。Apache Doris作為新一代MPP分析型數據庫&#xff0c;通過獨創的多模型融合架構&#xff0c;在業內率先實現了"一份數據支持多種分析范式"的能力…

基于vue框架的點餐系統設計及實現w93q6(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表 項目功能&#xff1a;用戶,菜品分類,菜品信息,配送員,訂單信息,配送進度,評價記錄 開題報告內容 基于 Vue 框架的點餐系統設計及實現開題報告 一、研究背景與意義 &#xff08;一&#xff09;研究背景 在當今快節奏的生活中&#xff0c;網上訂餐已成為人…

LeetCode 2563.統計公平數對的數目:排序 + 二分查找

【LetMeFly】2563.統計公平數對的數目&#xff1a;排序 二分查找 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/count-the-number-of-fair-pairs/ 給你一個下標從 0 開始、長度為 n 的整數數組 nums &#xff0c;和兩個整數 lower 和 upper &#xff0c;返回 公平…

CF1016賽后總結

文章目錄 前言T1:Ideal GeneratorT2&#xff1a;Expensive NumberT3:Simple RepetitionT4&#xff1a;Skibidi TableT5:Min Max MEXT6:Hackers and Neural NetworksT7:Shorten the Array 前言 由于最近在半期考試&#xff0c;更新稍微晚了一點&#xff0c;還望大家見諒 &#…

HFSS3(limy)——建模學習記錄

前言——筆者使用的是21版HFSS 1.基本模型 為什么沒有環形的天線 2.創建基本模型方法 常用&#xff1a;先粗略建好模型再編輯輸入準確坐標和大小尺寸&#xff08;這里長方體起始點是左上角下方的點&#xff0c;也就是說要輸入模型起點相對于坐標原點的位置尺寸就可以確定具體…

API網關的作用?企業如何應用API網關?

一、API網關的用處 API網關我的分析中會用到以下三種場景。 1、Open API 企業需要將自身數據、能力等作為開發平臺向外開放&#xff0c;通常會以rest的方式向外提供。最好的例子就是淘寶開放平臺、騰訊公司的QQ開發平臺、微信開放平臺。 Open API開放平臺必然涉及到客戶應用…

國網B接口協議圖像數據上報通知接口流程詳解以及上報失敗原因(電網B接口)

文章目錄 一、B接口協議圖像數據上報通知接口介紹B.13.1 接口描述B.13.2 接口流程B.13.3 接口參數B.13.3.1 SIP頭字段B.13.3.2 SIP響應碼B.13.3.3 XML Schema參數定義 B.13.4 消息示例B.13.4.1 圖像數據上報請求B.13.4.2 圖像數據上報響應 二、B接口圖像數據上報通知失敗常見問…

springAi---智能客服

首先被取代的是客服類&#xff0c;智能客服機器人都能夠高效地完成任務。 spring Ai 大模型應用相關開發demo&#xff0c;智能客服系統&#xff1b; 在需求分析階段&#xff0c;把功能屬于傳統Java處理的和ai的功能進行分離 梳理為流程圖如下&#xff1a; 在大模型中&#…

Java面試(2025)——基礎

Java語言有哪些特點&#xff1f; Java語言具有多個顯著特點&#xff0c;使其在編程領域廣受歡迎。首先&#xff0c;Java的跨平臺性非常強&#xff0c;通過Java虛擬機&#xff08;JVM&#xff09;實現“編寫一次&#xff0c;隨處運行”&#xff0c;使得開發者能夠在不同操作系統…

Linux壓縮與解壓命令完全指南:tar.gz、zip等格式詳解

Linux壓縮與解壓命令完全指南&#xff1a;tar.gz、zip等格式詳解 在Linux系統中&#xff0c;文件壓縮和解壓是日常操作中不可或缺的一部分。本文將全面介紹Linux下常用的壓縮和解壓命令&#xff0c;包括tar.gz、tar、zip等格式的區別和使用方法&#xff0c;幫助你高效管理文件…

C++ STL 環形隊列模擬實現

C STL 環形隊列模擬實現 下面是一個使用C STL實現的環形隊列&#xff08;Circular Queue&#xff09;的完整示例&#xff1a; #include <iostream> #include <vector> #include <stdexcept>template <typename T> class CircularQueue { private:std…

部署rocketmq集群

容器化部署RocketMQ5.3.1集群 背景: 生產環境單機的MQ不具有高可用,所以我們應該部署成集群模式,這里給大家部署一個雙主雙從異步復制的Broker集群 一、安裝docker yum install -y docker systemctl enable docker --now # 單機部署參考: https://www.cnblogs.com/hsyw/p/1…

mysql的函數(第一期)

一、字符串函數?? 處理文本數據&#xff0c;常用函數&#xff1a; ??CONCAT(str1, str2, ...)?? ??作用??&#xff1a;拼接字符串。??示例??&#xff1a;SELECT CONCAT(Hello, , World); → Hello World??注意??&#xff1a;若任一參數為 NULL&#xff0c;…