专题十六:虚拟路由冗余协议——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.mzph.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;…