当前位置: 首页 > news >正文

ArmSom-W3开发板之PCIE的开发指南(一)

1. 简介

  • RK3588从入门到精通
  • 本⽂介绍RK平台配置pcie的方法
  • 开发板:ArmSoM-W3

2、PCIE接口概述

PCIe(Peripheral Component Interconnect Express)是一种用于连接计算机内部组件的高速接口标准。以下是关于PCIe接口的简要介绍:

  • 高速传输: PCIe接口提供了高速的数据传输通道,可用于连接各种硬件设备,如图形卡、存储设备、网络适配器等。它的速度通常以每秒传输的数据位数(例如PCIe x1、x4、x8、x16等)来表示,每个通道的带宽可以根据需要扩展。
  • 点对点连接: PCIe采用点对点连接的架构,这意味着每个设备都直接连接到主板上的PCIe插槽,而不需要与其他设备共享带宽。这有助于减少延迟并提高性能。
  • 热插拔支持: PCIe接口支持热插拔,允许用户在计算机运行时添加或移除PCIe设备,而不需要重新启动计算机。
  • 广泛应用: PCIe接口广泛用于连接图形卡、固态硬盘(SSD)、扩展卡、网络适配器和其他高性能设备。这使得计算机用户可以根据需要扩展和升级系统的性能和功能。

PCIe接口是一种计算机硬件连接标准,它提供了高速、高性能的数据传输通道,支持多种设备的连接。

3、传输速率简介

PCIe 分类、速度,按lane的个数分有 x1 x2 x4 x8 x16 (最大可支持32个通道),按代来分 有 gen1 gen2 gen3 gen4

在这里插入图片描述

PCIe gen1 和 PCIe gen2 采用的编解码方式是 8b/10b,PCIe gen3 和 之后的 采用的是 128b/130b 的编码方式。

8b/10b 意思是说,当我们要传输8b的数据时,实际在通道上传输的是10b的数据,解码的时候,我们希望得到的是8b的有效数据。这样,相当于有效的带宽是实际带宽的 80%。

同理128b/130b,是传输128bit数据实际线路中传输的是130bit数据。

速率图中的单位间的关系:

传输速率单位 GT/s,表示 千兆传输/秒,是实际每秒传输的位数,他不包括额外吞吐量的开销位。

两个例子:

PCIe gen1 x1 传输速率 2.5GT/s = 2500MT/s = ( 2500 / 10 ) MB/s

PCIe gen3 x1 传输速率 8GT/s = 8000MT/s = ( 8000 / 130 ) x ( 128/8 ) MB/s= 984.6153… MB/s

PCIe 可⽤带宽:吞吐量 = 传输速率 * 编码⽅案

例如:PCIe 2.0 协议的每⼀条 Lane ⽀持58 / 10 = 4 Gbps = 500 MB/s 的速率,Pcie 2.0 x 8的通道为例,x8的可⽤带宽为 48 = 32 Gbps = 4 GB/s。

4、 芯片PCIE资源

4.1 硬件介绍

RK3588共有5个PCIe的控制器,硬件IP是⼀样的,配置不⼀样,其中⼀个4Lane DM模式可以⽀持作为EP使⽤,另外⼀个2Lane和3个1Lane控制器均只能作为RC使⽤。RK3588有两种PCIe PHY,其中⼀种为pcie3.0PHY,含2个Port共4个Lane,另⼀种是pcie2.0的PHY有3个,每个都是2.0 1Lane,跟SATA和USB combo使⽤。pcie3.0 PHY的4Lane可以根据实际需求拆分使⽤,拆分后需要合理配置对应的控制器。

在这里插入图片描述

4.2 kernel dts解析之PCIe

控制器在DTS对应节点名称:

资源模式dts节点可用phy内部DMA
PCIe
Gen3 x 4lane
RC/EPpcie3x4:
pcie@fe150000
pcie30phy
PCIe
Gen3 x 2lane
RC onlypcie3x2:
pcie@fe160000
pcie30phy
PCIe
Gen3 x 1lane
RC onlypcie2x1l0:
pcie@fe170000
pcie30phy,
combphy1_ps
PCIe
Gen3 x 1lane
RC onlypcie2x1l1:
pcie@fe180000
pcie30phy,
combphy2_psu
PCIe
Gen3 x 1lane
RC onlypcie2x1l2:
pcie@fe190000
combphy0_ps

在kernel/arch/arm64/boot/dts/rockchip/rk3588.dtsi下有具体描述

使用限制

  1. pcie30phy拆分后,pcie30x4控制器,⼯作于2Lane模式时只能固定配合pcie30phy的port0,⼯作于
    1Lane模式时,只能固定配合pcie30phy的port0lane0;
  2. pcie30phy拆分后,pcie30x2控制器,⼯作于2Lane模式时只能固定配合pcie30phy的port1,⼯作于
    1Lane模式时,只能固定配合pcie30phy的port1lane0;
  3. pcie30phy拆分为4个1Lane,pcie3phy的port0lane1只能固定配合pcie2x1l0控制器,pcie3phy的
    port1lane1只能固定配合pcie2x1l1控制器;
  4. pcie30x4控制器⼯作于EP模式,可以使⽤4Lane模式,或者2Lane模式使⽤pcie30phy的port0,
    pcie30phy的port1中2lane可以作为RC配合其他控制器使⽤。默认使⽤common clock作为reference
    clock时,⽆法实现pcie30phy port0的lane0⼯作于EP模式,lane1⼯作于RC模式配合其他控制器使
    ⽤,因为Port0的两个lane是共⽤⼀个输⼊的reference clock,RC和EP同时使⽤clock可能会有冲突。
  5. RK3588 pcie30phy 如果只使⽤其中⼀个port,另⼀个port也需要供电,refclk等其他信号可接地。

5、PCIe 使用配置

5.1 简介

Armsom-W3开发板上有 1 个 PCIe3.0 x 4 接口和一个PCIe2.0接口,如图

在这里插入图片描述

在这里插入图片描述

可以插入对应模组使用, 如图:

在这里插入图片描述

5.2 硬件设计

PCIe3.0 x 4 接口:

在这里插入图片描述

PCIe2.0接口:

在这里插入图片描述

5.3 软件配置

一般根据原理图在 DTS 中配置供电引脚、复位引脚,选择正确的 pcie 控制器节点和 PHY 节点使能就可以。

kernel/arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts中配置如下:

/ {vcc12v_dcin: vcc12v-dcin {compatible = "regulator-fixed";regulator-name = "vcc12v_dcin";regulator-always-on;regulator-boot-on;regulator-min-microvolt = <12000000>;regulator-max-microvolt = <12000000>;};vcc5v0_sys: vcc5v0-sys {compatible = "regulator-fixed";regulator-name = "vcc5v0_sys";regulator-always-on;regulator-boot-on;regulator-min-microvolt = <5000000>;regulator-max-microvolt = <5000000>;vin-supply = <&vcc12v_dcin>;};vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0 {compatible = "regulator-fixed";regulator-name = "vcc3v3_pcie2x1l0";regulator-min-microvolt = <3300000>;regulator-max-microvolt = <3300000>;enable-active-high;regulator-boot-on;regulator-always-on;gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;startup-delay-us = <50000>;vin-supply = <&vcc5v0_sys>;};vcc3v3_pcie30: vcc3v3-pcie30 {compatible = "regulator-fixed";regulator-name = "vcc3v3_pcie30";regulator-min-microvolt = <3300000>;regulator-max-microvolt = <3300000>;enable-active-high;gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;startup-delay-us = <5000>;vin-supply = <&vcc5v0_sys>;};}&pcie2x1l0 {reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;status = "okay";
};&combphy1_ps {status = "okay";
};&pcie30phy {rockchip,pcie30-phymode = <PHY_MODE_PCIE_AGGREGATION>;status = "okay";
};&pcie3x4 {reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};

pcie30phy、combphy1_ps:PHY 节点

pcie3x4、pcie2x1l0:pcie3x4 控制器节点

reset-gpios:复位引脚属性

vcc3v3_pcie2x1l0、vcc3v3_pcie30:供电引脚节点

5.4 其他PCIE配置的实例

RK3588的控制器和PHY较多,按配置要点进⾏配置即可,这⾥还有⼏个典型范例供参考:
在这里插入图片描述

5.4.1 ⽰例1 pcie3.0phy拆分2个2Lane RC, 3个PCIe 2.0 1Lane

/ {vcc3v3_pcie30: vcc3v3-pcie30 {compatible = "regulator-fixed";regulator-name = "vcc3v3_pcie30";regulator-min-microvolt = <3300000>;regulator-max-microvolt = <3300000>;enable-active-high;gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;startup-delay-us = <5000>;vin-supply = <&vcc12v_dcin>;};
};&combphy0_ps {status = "okay";
};
&combphy1_ps {status = "okay";
};
&combphy2_psu {status = "okay";
};
&pcie2x1l0 {phys = <&combphy1_ps PHY_TYPE_PCIE>;reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie2x1l1 {phys = <&combphy2_psu PHY_TYPE_PCIE>;reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie2x1l2 {reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie30phy {/*pcie30phy的组合使⽤模式:PHY_MODE_PCIE_NANBNB  /* P1:PCIe3x2 + P0:PCIe3x2 */PHY_MODE_PCIE_NANBBI  /* P1:PCIe3x2 + P0:PCIe3x1*2 */PHY_MODE_PCIE_NABINB  /* P1:PCIe3x1*2 + P0:PCIe3x2 */PHY_MODE_PCIE_NABIBI  /* P1:PCIe3x1*2 + P0:PCIe3x1*2 */*/rockchip,pcie30-phymode = <PHY_MODE_PCIE_NANBNB>;status = "okay";
};
&pcie3x2 {reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie3x4 {num-lanes = <2>;//拆分为2lan使用reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};

5.4.2 ⽰例2 pcie3.0phy拆分为4个1Lane, 1个使⽤PCIe 2.0 1 Lane

/ {vcc3v3_pcie30: vcc3v3-pcie30 {compatible = "regulator-fixed";regulator-name = "vcc3v3_pcie30";regulator-min-microvolt = <3300000>;regulator-max-microvolt = <3300000>;enable-active-high;gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;startup-delay-us = <5000>;vin-supply = <&vcc12v_dcin>;};
};
&combphy0_ps {status = "okay";
};
&pcie2x1l0 {phys = <&pcie30phy>;reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie2x1l1 {phys = <&pcie30phy>;reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie2x1l2 {reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie30phy {rockchip,pcie30-phymode = <PHY_MODE_PCIE_NABIBI>;status = "okay";
};
&pcie3x2 {num-lanes = <1>;reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};
&pcie3x4 {num-lanes = <1>;reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;vpcie3v3-supply = <&vcc3v3_pcie30>;status = "okay";
};

pcie30phy拆分为4个1Lane时,port0lane0固定配合pcie3x4控制器,pcie3phy的port0lane1固定配合pcie2x1l0控制器,port1lane0固定配合pcie3x2控制器,pcie3phy的port1lane1固定配合pcie2x1l1控制器,加上combphy0_ps固定配合pcie2x1l2。

ArmSoM 产品介绍: http://wiki.armsom.org/index.php/ArmSoM-w3

ArmSoM 技术论坛: http://forum.armsom.org/

相关文章:

ArmSom-W3开发板之PCIE的开发指南(一)

1. 简介 RK3588从入门到精通本⽂介绍RK平台配置pcie的方法开发板&#xff1a;ArmSoM-W3 2、PCIE接口概述 PCIe&#xff08;Peripheral Component Interconnect Express&#xff09;是一种用于连接计算机内部组件的高速接口标准。以下是关于PCIe接口的简要介绍&#xff1a; …...

Android 13.0 framework修改AlertDialog对话框的button样式

1.概述 在13.0系统产品开发中 在AlertDialog 系统对话框原生的确定和取消 两个button 按钮中,由于产品觉得字体默认颜色的不太好看,由于产品的需求修改button字体的颜色,所以需要找到AlertDialog的字体样式然后修改就可以了 2.framework修改AlertDialog 对话框的button样式…...

如何使用ArcGIS Pro提取河网水系

DEM数据除了可以看三维地图和生成等高线之外&#xff0c;还可以用于水文分析&#xff0c;这里给大家介绍一下如何使用ArcGIS Pro通过水文分析提取河网水系&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的DEM数据&#xff0c;除了DEM数据&a…...

python pytesseract 中文文字批量识别

用pytesseract 来批量把图片转成文字 1、安装好 pytesseract 包 2、下载安装OCR https://download.csdn.net/download/m0_37622302/88348824https://download.csdn.net/download/m0_37622302/88348824 Index of /tesseracthttps://digi.bib.uni-mannheim.de/tesseract/ 我是…...

Python 之plt.plot()的介绍以及使用

文章目录 介绍代码实例 介绍 plt.plot() 是Matplotlib库中用于绘制线图&#xff08;折线图&#xff09;的主要函数之一。它的作用是将一组数据点连接起来&#xff0c;以可视化数据的趋势、关系或模式。以下是 plt.plot() 的详细介绍&#xff1a; plt.plot(x, y, fmt, **kwarg…...

自动化生成代码:MyBatis 的 Generator与MyBatis-Plus 的 AutoGenerator

文章目录 Mybatis Generator自动化生成代码MyBatis Generator概述使用Java代码形式1. 在 Maven 或 Gradle 中添加 MyBatis Generator 的依赖&#xff1a;2. 编写配置文件 GeneratorConfig.xml&#xff0c;配置需要生成的数据库表和对应的生成器&#xff1a;3. 在命令行中使用 M…...

达梦数据库-DW-国产化--九五小庞

武汉达梦数据库股份有限公司成立于2000年&#xff0c;是国内领先的数据库产品开发服务商&#xff0c;国内数据库基础软件产业发展的关键推动者。公司为客户提供各类数据库软件及集群软件、云计算与大数据等一系列数据库产品及相关技术服务&#xff0c;致力于成为国际顶尖的全栈…...

LeetCode 753. 破解保险箱【欧拉回路,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

深度学习概念(术语):Fine-tuning、Knowledge Distillation, etc

文章目录 1.Fine-tuning (微调)2.Transfer Learning (迁移学习)3.Knowledge Distillation (知识蒸馏)4.Meta Learning (元学习) 这里的相关概念都是基于已有预训练模型&#xff0c;就是模型本身已经训练好&#xff0c;有一定泛化能力。需要“再加工”满足别的任务需求。 进入后…...

tcp_v4_connect函数的解析

源码&#xff1a; int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) {// 解析输入的地址结构struct sockaddr_in *usin (struct sockaddr_in *)uaddr;// 获取 TCP 协议栈的全局 death_row 对象struct inet_timewait_death_row *tcp_death_row;// …...

go-channel

设计原理 Go 提及的设计模式就是&#xff1a;不要通过共享内存的方式进行通信&#xff0c;而是应该通过通信的方式共享内存。 共享内存方式&#xff1a;多个协程共享同一块内存&#xff0c;但是多个协程中读写变量是操作同一块内存&#xff0c;会产生多线程问题的并发问题&am…...

K8s操作命令

生命周期管理 1. 创建 1. 创建资源 kubectl run 创建并运行一个或多个容器镜像。*创建一个deployment或job来管理容器*。 语法&#xff1a;kubectl run NAME --imageimage [–env“keyvalue”] [–portport] [–replicasreplicas] [–dry-runbool] [–overridesinline-jso…...

【MySQL】 MySQL数据库基础

文章目录 &#x1f431;‍&#x1f453;数据库的操作&#x1f4cc;显示当前的数据库&#x1f4cc;创建数据库&#x1f388;语法&#xff1a;&#x1f388;语法说明&#x1f388;示例&#xff1a; &#x1f334;使用数据库&#x1f38b;删除数据库&#x1f431;‍&#x1f3cd;语…...

vscode 下载安装

vscode 下载安装常用插件 vscode 官网&#xff1a; https://code.visualstudio.com/ 点击右上角 Download 进入下载选择页面 选择自己使用操作对应 CPU 架构 下载 本文使用 x86 架构 64位 windows 系统为例 跳转下载页面 自动 开始下载 下载不开始&#xff1f;试试这个直…...

springboot对接postgres

安装postgres 注意:下述链接方式会自动创建数据库steven_russell,若需要创建其他数据库&#xff0c;可以手动执行命令创建数据库 docker run --name postgres \ -p 5432:5432 \ -e POSTGRES_USERsteven_russell \ -e POSTGRES_PASSWORD123456 \ -itd --privilegedtrue postgre…...

[python 刷题] 242 Valid Anagram

[python 刷题] 242 Valid Anagram 题目&#xff1a; Given two strings s and t, return true if t is an anagram of s, and false otherwise. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the o…...

算法通过村第七关-树(递归/二叉树遍历)青铜笔记|手撕递归

文章目录 前言1. 递归的特征2. 如何写出好的递归3. 怎么看懂递归的代码总结 前言 提示&#xff1a;我们生活在24小时不眠不休的社会里但是没有24小时不眠不休的身体有些东西必须舍弃 -- 马特海格 这一关&#xff0c;我看要谈论的是递归问题&#xff0c;说到它就牵扯到很多问题了…...

#循循渐进学51单片机#点亮你的LED#not.2

1、深刻理解电容的意义&#xff0c;并且在今后的电路学习过程中要多多注意参考别人电路中去耦电路的处理方法&#xff0c;积累经验。 1&#xff09;电容缓冲电压&#xff0c;抗电磁干扰&#xff1b; 2&#xff09;低频率电容&#xff0c;一般用的最多的是钽电容&#xff0c;电…...

基于Java+SpringBoot+Vue+uniapp点餐小程序(亮点:协同过滤算法、会员系统,购物车结算、在线聊天)

校园点餐小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 系统功能结构设计4.2 主要功能描述 五…...

深度学习-全连接神经网络-详解梯度下降从BGD到ADAM - [北邮鲁鹏]

文章目录 参考文章及视频导言梯度下降的原理、过程一、什么是梯度下降&#xff1f;二、梯度下降的运行过程 批量梯度下降法(BGD)随机梯度下降法(SGD)小批量梯度下降法(MBGD)梯度算法的改进梯度下降算法存在的问题动量法(Momentum)目标改进思想为什么有效动量法还有什么效果&…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...