网络:路由
1. 路由器
路由器工作在三层,每个接口都处于不用的网段中,即不同的广播域。但大多情况下,两台路由器直接相连的接口是同一个广播域,即一个网段。
路由器具有判断网络地址和选择路径的功能,能在多网络互联的环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。
路由器属于网络层的设备,有隔离广播域的作用,它的每个端口都是一个独立的广播域,也是一个单独的冲突域。
2. 路由
通俗地说,去往目标的路径。网络中是指导IP报文转发的路径信息。
3. 路由表
路由的信息都放在路由表当中,就是帮助路由进行选路用的,是路由器或者三层交换机或者具备三层功能防火墙用于指导IP报文的转发。
查看路由的命令
<AR3>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 7 Routes : 7 Destination/Mask Proto Pre Cost Flags NextHop Interface127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0192.168.1.0/24 Direct 0 0 D 192.168.1.3 GigabitEthernet0/0/0192.168.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0192.168.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0<AR3>
思科中用show
华为默认的路由表如下:
<AR3>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 4 Routes : 4 Destination/Mask Proto Pre Cost Flags NextHop Interface127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
Destination/Mask:目标/掩码。
Proto:协议。
Pre:优先级。
直连路由默认优先级为0。
OSPF华为默认优先级为10和150,思科默认优先级为110。
静态路由华为默认为60,思科默认静态路由为10。
RIP默认优先级为100。
BGP默认优先级为255。
Cost:开销。
Flags:标识。下载到FIB。Route Flags:R-relay 中继。D-download to fib。
NextHop:下一跳。想要发送数据的下一站。
Interface:出接口。数据包发送的接口。一般出接口和下一跳在同一网段。
为什么华为中有默认4个路由表?
4. 直连路由与非直连路由
直连路由:配置IP地址,端口UP状态,形成直连路由。例如AR1与AR3,AR3与AR1、AR4,AR4与AR3、AR5,AR5与AR4。即:当接口配置IP地址,且IP地址和协议都是UP时,满足直连路由产生条件。
优点:是所有路由当中优先级最高的。
是可以自动生成的。
缺点:不能去往非直连的其它网段。
非直连路由:需要静态路由或动态路由,将网段添加到路由表中。例如AR1与AR4。

直连路由优先级高于非直连路由。
为什么需要非直连路由?
由于直连路由存在不足,不能去往非自己直连的其它网段。
需要静态路由或动态路由,将网段添加到路由表中。
5. 路由转发规则
被转发的路由必须存在。如果不存在,直接丢弃。
1. 根据最长匹配原则进行,掩码越长,越优先转发。
2. 当掩码一样,优先级的数值越小,越优先转发。
3. 当掩码、优先级一样,开销越小,越优先转发。
4. 当前述原则一致,负载分担。
6. 静态路由
静态路由的应用场景
1. 静态路由是指由管理员手动配置和维护的路由。
2. 静态路由配置简单。无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新。
3. 静态路由一般适用于结构简单的网络。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能。
静态路由的3种语法
在系统视图下执行:
1. ip route-static 目标网段 目标网段掩码 出接口 #出接口即g0/0/0。
2. ip route-static 目标网段 目标网段掩码 下一跳
3. ip route-static 目标网段 目标网段掩码 出接口 下一跳 #推荐使用方式
为什么不用出接口?容易产生解析失败。
静态路由的不足:
静态路由:不能动态的根据现网拓扑的改变而改变。
7. 下图为例:在AR10上如何访问路由3.3.3.3?

先配置AR10,配完后暂时无法ping通3.3.3.3:
[Huawei]sysname AR10
[AR10]interface LoopBack 0
[AR10-LoopBack0]ip add 1.1.1.1 32
[AR10-LoopBack0]dis ip inter bri
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 3Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 unassigned up down
GigabitEthernet0/0/1 unassigned down down
GigabitEthernet0/0/2 unassigned down down
LoopBack0 1.1.1.1/32 up up(s)
NULL0 unassigned up up(s)
[AR10-LoopBack0]quit
[AR10]interface g0/0/0
[AR10-GigabitEthernet0/0/0]ip add 192.168.1.1 24
Aug 10 2023 18:27:50-08:00 AR10 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state.
[AR10-GigabitEthernet0/0/0]quit
[AR10]ping 3.3.3.3PING 3.3.3.3: 56 data bytes, press CTRL_C to breakRequest time outRequest time outRequest time outRequest time outRequest time out--- 3.3.3.3 ping statistics ---5 packet(s) transmitted0 packet(s) received100.00% packet loss[AR10]
配置AR11:
[AR11]inter g0/0/0
[AR11-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[AR11-GigabitEthernet0/0/0]quit
[AR11]inte g0/0/1
[AR11-GigabitEthernet0/0/1]ip add 172.16.1.2 24
[AR11]inter LoopBack 0
[AR11-LoopBack0]ip add 2.2.2.2 32
[AR11-LoopBack0]quit
[AR11]dis ip inter brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 4
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 4
The number of interface that is DOWN in Protocol is 1Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 192.168.1.2/24 up up
GigabitEthernet0/0/1 172.16.1.2/24 up up
GigabitEthernet0/0/2 unassigned down down
LoopBack0 2.2.2.2/32 up up(s)
NULL0 unassigned up up(s)
<AR11>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 11 Routes : 11 Destination/Mask Proto Pre Cost Flags NextHop Interface2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0172.16.1.0/24 Direct 0 0 D 172.16.1.2 GigabitEthernet0/0/1172.16.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1172.16.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1192.168.1.0/24 Direct 0 0 D 192.168.1.2 GigabitEthernet0/0/0192.168.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0192.168.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0<AR11>
配置AR12:
[AR12]inter LoopBack 0
[AR12-LoopBack0]ip add 3.3.3.3 32
[AR12-LoopBack0]quit
[AR12]inter g0/0/0
[AR12-GigabitEthernet0/0/0]ip add 172.16.1.3 24
Aug 11 2023 15:34:54-08:00 AR12 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state.
[AR12-GigabitEthernet0/0/0]quit
[AR12]dis ip inter bri
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 2Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 172.16.1.3/24 up up
GigabitEthernet0/0/1 unassigned down down
GigabitEthernet0/0/2 unassigned down down
LoopBack0 3.3.3.3/32 up up(s)
NULL0 unassigned up up(s)
配置完成后,AR10无法ping通3.3.3.3。
因为数据在传递过程中,经过AR11,AR10会将数据传递给AR11,但AR11上没有通往3.3.3.3的路由。因此AR11设备会丢弃该报文。因此需要在AR11上写入静态路由,使之增加到达3.3.3.3的路由
[AR11]ip route-static 3.3.3.3 32 g0/0/0 192.168.1.1
配置完成后,AR10依然无法ping通3.3.3.3。
因为数据在传递过程中,AR0发现到达3.3.3.3需要通过AR11设备的172.16.1.2接口。因此AR10会将数据传递给AR11设备。AR11设备到达3.3.3.3需经过AR12设备的172.16.1.3接口。因此AR12会接收数据,并传给直连路由3.3.3.3。
但是,如果想要ping通3.3.3.3,数据已然发送成功,也要接收成功。因此数据能够从AR12返回给AR10,才能ping通。
8. 负载分担与负载均衡

负载分担:从AR6出来的流量 M + N = 100%,但M != N,例如M = 40%,N = 60%。
负载均衡:从AR6出来的流量 M + N = 100%,且M = N = 50%。
分逐流和逐包,默认逐流。
9. 路由器控制平面和转发平面
路由器的两大典型功能:数据通道功能和控制功能。
数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件完成,包括与相邻路由器之间的信息交接、系统配置、系统管理等。
管理平面/控制平面(统称控制平面、分布平面)
控制平面用于控制和管理所有网络协议的运行,例如生成树协议、VLAN协议、ARP协议、各种路由协议和组播协议等的管理与控制。
控制平面通过网络协议提供给路由器/交换机对整个网络环境中的网络设备、连接链路和交互协议准确了解,并在网络状况发送改变时做出及时的调整以维护网络的正常运行。
控制平面提供转发前所需的各种网络信息。
控制平面并不占用过多的硬件资源,但在正常状态下依然是网络设备CPU资源的主要占用平面,控制平面主要靠CPU资源来处理信息。
display ip routing-table 查看IP路由表,属控制平面范畴(路由信息数据库,RIB)。
路由器不依赖控制平面进行数据转发。
数据转发平面/数据平面
对于数据处理过程中各种具体的处理转发过程,例如L2/L3/ACL/QOS/组播/安全防护等个功能的具体执行过程,都属于数据转发平面的任务范畴。
display fib 查看最终迭代的出接口,属数据平面范畴(转发信息数据库,FIB)。
路由器依赖数据平面进行数据转发。
10. 路由表和FIB表
每个路由器都至少保存着一张路由表(routing-table)和一张FIB(Forwarding Information Base)表。
11. Loopback是逻辑接口,区别于实际的物理接口,只要配置IP地址,即为UP状态。配置命令为:
[AR11]inter LoopBack 0
[AR11-LoopBack0]ip add 2.2.2.2 32
12. 默认路由
默认路由一般在末节点配置。优点是仅仅用一条路由代替所有路由条目。
[AR10]ip route-static 0.0.0.0 0 下一跳
注意:0.0.0.0 0 表示任意IP,其中第5个0为掩码,表示32个0。
明细路由:具体到某一网段。
默认路由:
路由转发规则:明细路由优先级高于默认路由。如果路由表当中明细路由和默认路由同时存在,则明细路由优先转发。当路由表中只有默认路由时,会选择默认路由。
一般不要在中间节点写2条默认路由,容易产生环路。
13. 删除路由
[AR10]undo ip route-static 3.3.3.0 255.255.255.0 GigabitEthernet0/0/0 192.168.1.2
先查看当前的静态路由,之后通过undo删除:
[AR10]display current-configuration
[V200R003C00]
#sysname AR10
#snmp-agent local-engineid 800007DB03000000000000snmp-agent
#clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load flash:/portalpage.zip
#drop illegal-mac alarm
#wlan ac-global carrier id other ac id 0
#set cpu-usage threshold 80 restore 75
#
aaa authentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$local-user admin service-type http
#
firewall zone Localpriority 15
#
interface GigabitEthernet0/0/0ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0ip address 1.1.1.1 255.255.255.255
#
ip route-static 3.3.3.0 255.255.255.0 GigabitEthernet0/0/0 192.168.1.2
#
user-interface con 0authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
return
[AR10]undo ip route-static 3.3.3.0 255.255.255.0 GigabitEthernet0/0/0 192.168.1.2
[AR10]display current-configuration
[V200R003C00]
#sysname AR10
#snmp-agent local-engineid 800007DB03000000000000snmp-agent
#clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load flash:/portalpage.zip
#drop illegal-mac alarm
#wlan ac-global carrier id other ac id 0
#set cpu-usage threshold 80 restore 75
#
aaa authentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$local-user admin service-type http
#
firewall zone Localpriority 15
#
interface GigabitEthernet0/0/0ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0ip address 1.1.1.1 255.255.255.255
#
user-interface con 0authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
return
[AR10]
14. 浮动路由
浮动路由就是只让主链路进行工作,备链路不让转发流量。
当主链路出现问题时,路由器选择备用链路。当主链路恢复,路由器会选择主链路。
15. 路由器转发数据使用 Routing table,而交换机转发数据使用cam cable。
相关文章:
网络:路由
1. 路由器 路由器工作在三层,每个接口都处于不用的网段中,即不同的广播域。但大多情况下,两台路由器直接相连的接口是同一个广播域,即一个网段。 路由器具有判断网络地址和选择路径的功能,能在多网络互联的环境中&…...
利用三维内容编辑器制作VR交互课件,简单好用易上手
随着虚拟现实技术的不断发展,越来越多的教育机构开始尝试将其应用于教育教学中。然而,要实现这一目标并不容易,需要专业的技术支持和开发团队。 为了解决这一问题,广州华锐互动研发了三维内容编辑器,它是一种基于虚拟现…...
中国首款量子计算机操作系统本源司南 PilotOS正式上线
中国安徽省量子计算工程研究中心近日宣布,中国国产量子计算机操作系统本源司南 PilotOS 客户端正式上线。 如果把量子芯片比喻成人的“心脏”,那么量子计算机操作系统就相当于人的“大脑”,量子计算应用软件则是人的“四肢”。 据安徽省量子…...
基层社会治理平台建设方案[113页PPT]
导读:原文《基层社会治理平台建设方案[113页PPT]》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式: 如需获取完…...
认识vite
一.了解vite的不同版本的更新 vite1版本是基于vue项目的,无法跨框架使用vite2可以跨框架(vue2,vue3,react)vite3模板变更;vite cli优化;import.meta.glob API变化;其他vite4主版本主…...
华为运动健康,十年创新天地宽
我听一位朋友讲过这样一个故事。某天早上,急诊科的医生迎来了一位患者,患者进来后直接说:“大夫,我房颤了。” 这位医生非常诧异,因为心脏房颤确实非常危急,但很多时候并没有明显的生理体征,患者…...
深度学习(37)—— 图神经网络GNN(2)
深度学习(37)—— 图神经网络GNN(2) 这一期主要是一些简单示例,针对不同的情况,使用的数据都是torch_geometric的内置数据集 文章目录 深度学习(37)—— 图神经网络GNN(…...
Unity游戏源码分享-乐节奏休闲游戏源码 guitar hero 支持mobile
Unity游戏源码分享-乐节奏休闲游戏源码 guitar hero 支持mobile 完整版下载地址:https://download.csdn.net/download/Highning0007/88198766...
VS Code配置Prettier格式化Apex
先决条件 安装nodejs和npm安装vs code安装salesforce extension pack 配置Prettier Apex 创建本地Salesforce项目 (Standard) command shift p -> SFDX: Create Project with Manifest -> Standard 打开terminal运行npm init生成package.json文件 安装prettier ap…...
Spring-Cloud-Loadblancer详细分析_4
在RoundRobinLoadBalancer.choose中的serviceInstanceListSupplierProvider就是获取服务列表的关键,那么此对象是怎么拿到的呢,让我们回到RoundRobinLoadBalancer的创建过程 Configuration(proxyBeanMethods false) ConditionalOnDiscoveryEnabled pub…...
openocd调试esp32(通过FT232H)
之前在学习ESP32,其中有一部分课程是学习openocd通过JTAG调试程序的,因为我用的是ESP32-wroom,usb端口没有集成对应的usb转jtag的ft232,查了ESP32相关的资料(JTAG 调试 - ESP32 - — ESP-IDF 编程指南 latest 文档 (es…...
Nokia5110使用方法及实例编写51单片机
文章目录 Nokia5110实物图引脚和原理图51单片机实例软件模拟SPI实现控制Nokia5110显示字符发送字节时序图(图片太多了,关键图片已截取出来)初始化需要配置实例编写回顾接线结束Nokia5110 Nokia是诺基亚拆下来的屏幕。使用SPI控制 84x48 的点阵 LCD,可以显示 4 行汉字,采用…...
3个月快速入门LoRa物联网传感器开发
在这里插入图片描述 快速入门LoRa物联网传感器开发 LoRa作为一种LPWAN(低功耗广域网络)无线通信技术,非常适合物联网传感器和行业应用。要快速掌握LoRa开发,需要系统学习理论知识,并通过实际项目积累经验。 摘要: 先学习LoRa基础知识:原理、网络架构、协议等,大概需要2周时间…...
【小梦C嘎嘎——启航篇】内存管理小知识~
【小梦C嘎嘎——启航篇】内存管理小知识~😎 前言🙌malloc/calloc/realloc的区别?new 与 deletenew与delete要找好搭档才能保证万无一失 new 与 delete的内部实现细节是怎么样的呢???new 的内部实现细节dele…...
ClickHouse查看执行计划(EXPLAIN语法)
1.EXPLAIN 语法示例 EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE] [setting value, ...] [ SELECT ... | tableFunction(...) [COLUMNS (...)] [ORDER BY ...] [PARTITION BY ...] [PRIMARY KEY] [SAMPLE BY ...] [T…...
线程池
线程池 什么是线程池? 想象一下 假设我是个漂亮妹子,这时候接受了舔狗A的表白,随着时间的推移,逐渐不喜欢A这小子了,于是我就想换个男朋友,可是 1.处理分手,需要消耗一定成本 2.再找一个新对象…...
配置:Terminal和oh-my-posh
目录 命令行安装oh-my-posh查看安装情况配置PowerShell启用oh-my-posh、设置主题配色安装字体Terminal中的配置 命令行安装oh-my-posh Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString(https://ohmy…...
数据结构--BFS求最短路
数据结构–BFS求最短路 BFS求⽆权图的单源最短路径 注:⽆权图可以视为⼀种特殊的带权图,只是每条边的权值都为1 以 2 为 b e g i n 位置 以2为begin位置 以2为begin位置 代码实现 //求顶点u到其他顶点的最短路径 void BFS_MIN_Distance(Graph G, int u…...
FPGA应用学习笔记----定点除法的gold算法流水线设计
猜一个Y0 a和b上下都Y0 分母越接近一,分子就越接近答案 误差: 下一步迭代为 Y的迭代值: 误差值: 代码的实现如上所示...
Nginx转发的原理和负载均衡
一、Nginx转发的原理 Nginx是一个高性能的反向代理服务器,它可以用于实现请求的转发和负载均衡。以下是Nginx转发的基本原理: 客户端发送请求:客户端向Nginx服务器发送HTTP请求。 Nginx接收请求:Nginx服务器接收到客户端的请求。…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
