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

Docker网络架构深度解析与技术实践

目录

第一章 Docker网络架构核心原理

1.1 容器网络模型(CNM)体系

1.2 网络命名空间隔离机制

1.3 虚拟网络设备对(veth)

1.4 网桥驱动模型

第二章 Docker网络模式深度剖析

2.1 Bridge模式(默认模式)

2.1.1 架构实现

2.1.2 通信矩阵

2.1.3 高级配置

2.2 Host模式

2.2.1 技术特征

2.2.2 适用场景

2.2.3 性能对比

2.3 Overlay网络

2.3.1 VXLAN实现

2.3.2 数据平面优化

2.4 Macvlan/IPvlan

2.4.1 对比分析

2.4.2 配置示例

第三章 高级网络配置实践

3.1 自定义网络创建

3.2 多租户网络隔离

3.3 服务发现机制

第四章 网络性能优化

4.1 基准测试指标

4.2 优化策略

第五章 安全防护体系

5.1 网络威胁模型

5.2 防御机制

第六章 云原生网络演进

6.1 Service Mesh集成

6.2 eBPF技术革新

6.3 智能网络编排

第七章 典型场景实践

7.1 微服务网络架构

7.2 混合云网络互联

7.3 物联网边缘计算


第一章 Docker网络架构核心原理

1.1 容器网络模型(CNM)体系

Docker采用容器网络模型(Container Network Model,CNM)作为基础架构,该模型由三个核心组件构成:

  1. 沙盒(Sandbox):实现网络栈的完全隔离,包含容器内eth0虚拟接口、路由表、DNS配置等元素。每个沙盒对应一个Linux网络命名空间,通过clone()系统调用创建,使用setns()实现命名空间切换。
  2. 终端(Endpoint):作为虚拟网络接口(veth pair的一端),负责连接沙盒与网络。每个Endpoint对应一个veth设备,通过ip link命令创建并附加到网桥。
  3. 网络(Network):由多个Endpoint组成的通信域,支持不同实现方式(Linux网桥、VLAN、VXLAN等)。网络驱动通过可插拔架构实现,包括bridge、overlay、macvlan等类型。

1.2 网络命名空间隔离机制

Linux内核通过network namespace实现网络栈的完全隔离,每个Docker容器默认创建独立命名空间。隔离资源包括:

  • 网络接口设备(物理/虚拟)
  • IPv4/IPv6协议栈
  • 路由表及策略路由规则
  • 防火墙规则(iptables/nftables)
  • 网络统计计数器
  • 端口范围及套接字状态

通过nsenter工具可验证隔离效果:


# 查看容器进程ID

docker inspect --format '{{.State.Pid}}' <container_id>

# 进入容器网络命名空间

nsenter -t <pid> -n ip addr show

1.3 虚拟网络设备对(veth)

veth pair是成对出现的虚拟网络设备,作为跨命名空间通信的”虚拟网线”。其技术特征包括:

  • 双向通信管道特性
  • 支持以太网帧传输
  • 可附加到Linux网桥
  • 支持TC流量控制

典型应用场景:


# 创建veth pair

ip link add veth0 type veth peer name veth1

# 将veth1移入容器命名空间

ip link set veth1 netns <namespace>

# 配置IP地址并启用

ip netns exec <namespace> ip addr add 172.17.0.2/16 dev veth1

ip netns exec <namespace> ip link set veth1 up

1.4 网桥驱动模型

Docker默认使用bridge驱动创建docker0虚拟网桥(三层交换机),关键技术实现:

  • 802.1d STP生成树协议:防止网络环路
  • MAC地址学习与转发表:维护MAC-Port映射表
  • ARP代理机制:响应跨子网ARP请求
  • iptables NAT转换:实现容器出站流量伪装

数据流转路径示例:


容器eth0 → veth pair → docker0网桥 → iptables NAT → 物理网卡

第二章 Docker网络模式深度剖析

2.1 Bridge模式(默认模式)

2.1.1 架构实现
  • 默认创建docker0网桥(172.17.0.1/16)
  • 每个容器分配veth pair连接网桥
  • 通过MASQUERADE规则实现出站NAT
  • 端口映射通过DNAT规则实现

网络配置参数示例:


docker run -p 8080:80 --net=bridge --ip=172.17.0.2 nginx

2.1.2 通信矩阵

通信类型

是否可达

依赖条件

容器↔互联网

iptables NAT规则

容器↔宿主机

docker0网桥直连

容器间通信(同网桥)

二层MAC寻址

跨网桥容器通信

需自定义路由或overlay网络

2.1.3 高级配置
  1. MTU优化


docker network create --opt com.docker.network.driver.mtu=1450 my_bridge

  1. 带宽限制


docker run --network my_bridge \

           --sysctl net.core.somaxconn=1024 \

           --ulimit nofile=65535:65535 \

           nginx

2.2 Host模式

2.2.1 技术特征
  • 共享宿主机网络命名空间
  • 直接使用物理网卡
  • 无NAT性能损耗
  • 端口冲突风险
2.2.2 适用场景
  • 高性能网络需求(如DPDK应用)
  • 需要直接暴露主机端口
  • 网络监控/嗅探工具容器化
2.2.3 性能对比

指标

Bridge模式

Host模式

延迟

50-100μs

<10μs

吞吐量

5-8Gbps

10-40Gbps

连接建立速率

5k-10k/s

50k-100k/s

2.3 Overlay网络

2.3.1 VXLAN实现
  • 使用UDP 4789端口封装二层帧
  • 24位VNI网络标识隔离
  • 分布式控制平面(Libnetwork)
  • 支持多播与单播模式

关键配置参数:


# docker-compose.yml示例

networks:

  my-overlay:

    driver: overlay

    attachable: true

    ipam:

      config:

        - subnet: 10.10.0.0/24

2.3.2 数据平面优化
  1. MTU自适应调整


ifconfig eth0 mtu 1450

  1. 加密传输


docker network create --opt encrypted=true my_secure_overlay

  1. BGP路由集成


docker network create --driver=overlay \

           --opt com.docker.network.driver.overlay.bgp.enable=true \

           my_bgp_net

2.4 Macvlan/IPvlan

2.4.1 对比分析

特性

Macvlan

IPvlan

MAC地址

每个容器独立MAC

共享父接口MAC

广播处理

需要父接口支持

无特殊要求

VLAN支持

原生支持

需配合802.1q

网络性能

较高

极高

ARP代理需求

需要

不需要

2.4.2 配置示例


# 创建Macvlan网络

docker network create -d macvlan \

  --subnet=192.168.1.0/24 \

  --gateway=192.168.1.1 \

  -o parent=eth0 \

  my_macvlan

# 创建IPvlan L3模式

docker network create -d ipvlan \

  --subnet=192.168.2.0/24 \

  -o ipvlan_mode=l3 \

  my_ipvlan

第三章 高级网络配置实践

3.1 自定义网络创建


# 创建带子网定义的bridge网络

docker network create \

  --driver=bridge \

  --subnet=192.168.100.0/24 \

  --gateway=192.168.100.1 \

  --opt com.docker.network.bridge.name=mybr0 \

  my-custom-net

3.2 多租户网络隔离

实现方案:

  1. 网络命名空间级隔离:每个租户独立网络栈
  2. VRF路由实例划分:通过ip route命令实现
  3. 基于eBPF的流量过滤:使用cilium等工具
  4. 网络策略控制:Kubernetes NetworkPolicy示例:


apiVersion: networking.k8s.io/v1

kind: NetworkPolicy

metadata:

  name: tenant-isolation

spec:

  podSelector:

    matchLabels:

      tenant: A

  policyTypes:

  - Ingress

  - Egress

  ingress:

  - from:

    - podSelector:

        matchLabels:

          tenant: A

  egress:

  - to:

    - podSelector:

        matchLabels:

          tenant: A

3.3 服务发现机制

  • 嵌入式DNS服务器(127.0.0.11)
  • 容器名称自动注册
  • 自定义域名解析配置
  • 负载均衡VIP实现

DNS配置示例:


docker run --dns=8.8.8.8 \

           --dns-search=example.com \

           --dns-opt=ndots:2 \

           nginx

第四章 网络性能优化

4.1 基准测试指标

指标

典型值

优化目标

延迟

50-200μs

<100μs

吞吐量

10-40Gbps

>80%线速

连接建立速率

10k-50k/s

>100k/s

包转发率

1-5Mpps

>10Mpps

4.2 优化策略

  1. 网卡多队列优化


ethtool -L eth0 combined 8

  1. 中断亲和性设置


echo 0f > /proc/irq/24/smp_affinity

  1. 内核参数调优


net.core.rmem_max=16777216

net.core.wmem_max=16777216

net.ipv4.tcp_rmem=4096 87380 16777216

net.ipv4.tcp_wmem=4096 65536 16777216

  1. DPDK加速方案
  • 用户态驱动绕过内核协议栈
  • 轮询模式替代中断驱动
  • 大页内存配置:


echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

第五章 安全防护体系

5.1 网络威胁模型

  • ARP欺骗攻击
  • DNS劫持风险
  • 中间人攻击(MITM)
  • DDoS放大攻击
  • 横向渗透风险

5.2 防御机制

  1. 网络策略引擎


apiVersion: networking.k8s.io/v1

kind: NetworkPolicy

metadata:

  name: allow-frontend

spec:

  podSelector:

    matchLabels:

      role: frontend

  ingress:

  - from:

    - podSelector:

        matchLabels:

          role: backend

    ports:

    - protocol: TCP

      port: 6379

  1. 加密通信方案
  • mTLS双向认证配置:


docker run --tlsverify \

           --tlscacert=ca.pem \

           --tlscert=cert.pem \

           --tlskey=key.pem \

           nginx

  1. 审计与监控
  • 网络流日志(NetFlow)采集
  • eBPF实时流量分析:


bpftrace -e 'tracepoint:net:netif_receive_skb { @[comm] = count(); }'

第六章 云原生网络演进

6.1 Service Mesh集成

  • Istio数据平面加速:使用Envoy的BoringSSL优化
  • 透明代理注入:通过iptables REDIRECT规则实现
  • 东西向流量治理:支持HTTP/2,gRPC协议级控制
  • 分布式追踪集成:Jaeger/Zipkin数据采集

6.2 eBPF技术革新

  • XDP加速:实现线速包处理
  • Cilium架构:替代kube-proxy实现服务发现
  • 动态策略加载:无需重启容器更新规则
  • 深度可观测性:提供L7应用层监控

6.3 智能网络编排

  • 意图驱动网络:通过CRD声明网络需求
  • AIOps异常检测:基于LSTM的流量预测模型
  • 弹性带宽分配:根据QoS动态调整带宽
  • 自适应路由优化:结合BGP与SDN技术

第七章 典型场景实践

7.1 微服务网络架构


graph TD

    A[API Gateway] --> B[Service A]

    A --> C[Service B]

    B --> D[Database]

    C --> D

    style A fill:#f9f,stroke:#333

    style B fill:#ccf,stroke:#333

    style C fill:#ccf,stroke:#333

    style D fill:#f96,stroke:#333

7.2 混合云网络互联

  1. VXLAN隧道建立


ip link add vxlan0 type vxlan id 42 dev eth0 remote 10.0.0.2 dstport 4789

  1. BGP路由通告


birdc configure

protocol bgp {

    local as 64512;

    neighbor 10.0.0.1 as 64513;

    import all;

    export all;

}

7.3 物联网边缘计算

  • 轻量级网络协议:MQTT over WebSocket
  • 边缘节点发现:mDNS/Bonjour协议
  • 离线缓存机制:本地SQLite存储
  • 安全通信协议:DTLS 1.3实现

相关文章:

Docker网络架构深度解析与技术实践

目录 第一章 Docker网络架构核心原理 1.1 容器网络模型&#xff08;CNM&#xff09;体系 1.2 网络命名空间隔离机制 1.3 虚拟网络设备对&#xff08;veth&#xff09; 1.4 网桥驱动模型 第二章 Docker网络模式深度剖析 2.1 Bridge模式&#xff08;默认模式&#xff09; …...

如何通过Google Chrome增强网页内容的安全性

在现代互联网环境中&#xff0c;网页安全问题时常困扰着用户。谷歌浏览器作为全球使用最广泛的浏览器之一&#xff0c;提供了多种方式帮助用户增强网页的安全性。以下是一些简单有效的方法&#xff0c;可以帮助用户提高浏览器的安全防护能力。 首先&#xff0c;谷歌浏览器自带了…...

劳动节ppt免费下载,劳动节ppt模板,劳动节课件

劳动节ppt免费下载,劳动节ppt模板&#xff0c;劳动节素材&#xff0c;学生&#xff0c;幼儿园课件:劳动节ppt_模板素材_PPT模板_ppt素材_免抠图片_AiPPTer...

应用在通信网络设备的爱普生晶振SG2016CBN

在数字化浪潮席卷全球的当下&#xff0c;通信网络已成为信息时代的核心基础设施&#xff0c;从 5G 基站的快速部署到数据中心的高效运转&#xff0c;从光纤网络的稳定传输到无线通信的流畅连接&#xff0c;每一个环节都对时钟信号的稳定性和精准性有着极高要求。一个高质量的时…...

STM32 RTC配置

一、什么是RTC&#xff1f; RTC&#xff0c;即实时时钟&#xff0c;是一种能持续运行并保持当前时间信息的电子装置。它常用于在设备断电的情况下依然能保持准确的年、月、日、时、分、秒信息。 与CPU核心时钟不同&#xff0c;RTC通常采用独立的低频晶振&#xff08;如32.768…...

图像保边滤波之BEEPS滤波算法

目录 1 简介 2 算法原理 3 代码实现 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 简介 BEEPS&#xff08;Bias Elimination in Edge-Preserving Smoothing&#xff09; 是一种基于偏微分方程&#xff08;PDE&#xff09;的边缘保留平滑滤波算法。它能够…...

使用OpenCV和dlib库进行人脸关键点定位

文章目录 引言一、环境准备二、代码实现解析1. 导入必要的库2. 加载图像和人脸检测器3. 加载关键点预测模型4. 检测并绘制关键点5. 显示结果 三、68个关键点的含义四、常见问题解决五、总结 引言 人脸关键点定位是计算机视觉中的一项基础任务&#xff0c;它在人脸识别、表情分…...

Transformer数学推导——Q27 证明时序注意力(Temporal Attention)在视频模型中的帧间依赖建模

该问题归类到Transformer架构问题集——注意力机制——跨模态与多模态。请参考LLM数学推导——Transformer架构问题集。 在视频理解任务中&#xff0c;捕捉帧与帧之间的时间依赖关系&#xff08;如动作的连贯性、物体的运动轨迹&#xff09;是核心挑战。时序注意力&#xff08…...

相机-IMU联合标定:相机标定

文章目录 📚简介💡标定方法🚀标定工具kalibr🚀标定数据录制🚀相机标定📚简介 在 VINS(Visual-Inertial Navigation System,视觉惯性导航系统) 中,相机标定 是确保视觉数据准确性和系统鲁棒性的关键步骤,其核心作用可总结为以下方面: 消除镜头畸变,提升特征…...

sevlet API

sevlet API API就是一组类和方法 HttpServlet 这是写servlet代码用到的核心的类,通过继承这个类,并重写其中的方法,让Tomcat去调用这里的逻辑. init:webapp被加载的时候,执行 destroy:webapp被销毁的时候(Tomcat结束)执行,进行一些收尾工作.但是这个方法不保证能够调用到!!…...

python程序设习题答案

第一章 1&#xff0e;在下列领域中&#xff0c;使用 Python 不可能实现的是( C ) A . Web 应用开发 B &#xff0e;科学计算 C &#xff0e;操作系统管理 D &#xff0e;游戏开发 2.Python程序文件的扩展名是&#xff08; D )。 A.python B.pyt C.pt D.py 3&…...

[计算机科学#4]:二进制如何塑造数字世界(0和1的力量)

【核知坊】&#xff1a;释放青春想象&#xff0c;码动全新视野。 我们希望使用精简的信息传达知识的骨架&#xff0c;启发创造者开启创造之路&#xff01;&#xff01;&#xff01; 内容摘要&#xff1a; 二进制是计算机世界的基石&#xff0c;数学是世界的…...

一种在使用Kaggle并遇上会话中断时强行保存数据的方法

问题&#xff1a;kaggle会话结束后&#xff0c;无法保存训练模型时记录的excel文件 解决方法&#xff1a;使用kaggle时&#xff0c;使用下面脚本可将保存到训练数据excel转为链接形式&#xff0c;从而在kaggle会话终止时也可以下载到该excel文件 import base64 import pandas …...

【人工智能agent】--dify搭建智能体和工作流

【人工智能agent】--docker本地部署dify教程-CSDN博客 上期讲到如何部署dify&#xff0c;然后进入页面&#xff1a; docker服务&#xff1a; 目录 1.基础设置 2.创建聊天助手 3.创建知识库应用 4.创建智能体 5.创建工作流 5.1.文档总结规划 5.2.爬取网页新闻 1.基础设…...

[4282]PHP跨境电商源码-多语言商城源码/支持代理+商家入驻+分销+等等众多功能/带详细安装

源码获取&#xff1a;[4282]PHP跨境电商源码-多语言商城源码/支持代理商家入驻分销等等众多功能/带详细安装云溪资源网_源码下载,小程序源码下载,网站源码下载,游戏源码下载云溪资源网_源码下载,小程序源码下载,网站源码下载,游戏源码下载...

MongoDB的增删改查操作

1.文档创建 首先要插入数据前&#xff0c;要先创建数据库&#xff0c;创建完之后建立集合&#xff0c;然后才能进行增删改查的步骤 切换&#xff08;新建&#xff09;数据库&#xff1a; use <db> db是指要创建数据库的名称 新建集合&#xff1a; db.createCollection(…...

TimDbg

晚上随意浏览&#xff0c;发现一个有趣的网站&#xff1a; TimDbg 调试器谎言&#xff1a;堆栈损坏 // TimDbg 2022.11的一篇很有趣&#xff0c;讲如何培养裸眼反汇编的能力&#xff0c;即培训心智模型&#xff0c;模式识别能力。 识别内存中的模式 // TimDbg 我是用edge浏…...

MySQL 表的约束(二)

文章目录 自增长唯一键外键 自增长 auto_increment&#xff1a;当对应的字段&#xff0c;不给值&#xff0c;会自动的被系统触发&#xff0c;系统会从当前字段中已经有的最大值1操作&#xff0c;得到一个新的不同的值。通常和主键搭配使用&#xff0c;作为逻辑主键。 create …...

大数据应用开发和项目实战

Matplotlib的介绍 Matplotlib 是 Python 的绘图库&#xff0c;它能让使用者很轻松地将数据图形化&#xff0c;并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态&#xff0c;动态&#xff0c;交互式的图表。比如说散点图、柱状图等等。 Matplotlib Pyplot plot(…...

OpenLayers矢量数据可视化高级技巧(进阶二)

1. 高级样式技术 矢量数据的样式直接影响可视化效果的表达能力和美观度。OpenLayers提供了丰富的样式API&#xff0c;通过组合和创新&#xff0c;可以实现各种复杂的视觉效果。 1.1 动态样式 // 根据属性值动态设置样式 const vectorLayer new ol.layer.Vector({source: ne…...

实用的java技术架构组件汇总

1.后端数据校验 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>校验注解 jakarta.validation-api 规范提供如下&#xff1a; size hibern…...

Rmarkdown输出为pdf的方法与问题解决

R 是一种在数据分析与统计计算领域广泛使用的编程语言。其关键优势之一是能够生成高质量的报告和文档&#xff0c;这些报告和文档可以使用 RMarkdown 轻松定制和更新。在本文中&#xff0c;我们将探讨使用 R 从 RMarkdown 文件生成.pdf 文件 1.生成方法 新建Rmarkdown&#xf…...

【超详细讲解】什么是序列化和反序列化?

目录 一、什么是序列化&#xff08;Serialization&#xff09;&#xff1f; 举个直观的例子 二、什么是反序列化&#xff08;Deserialization&#xff09;&#xff1f; 三、为什么需要序列化&#xff1f; 四、常见的序列化格式对比 五、序列化底层是怎么做的&#xff1f;…...

深入浅出JavaScript常见设计模式:从原理到实战(2)

深入浅出JavaScript常见设计模式&#xff1a;从原理到实战(2) 本文是深入浅出JavaScript常见设计模式&#xff1a;从原理到实战(1)的续集 设计模式是一种在特定情境下解决软件设计中常见问题的通用方案或模板。在特定的开发场景中使用特定的设计模式&#xff0c;可以提升代码质…...

MySQL 主从复制

数据的高可用性、读写分离以及数据备份是至关重要的需求。MySQL 作为一款广泛使用的开源关系型数据库&#xff0c;其主从复制功能为解决这些问题提供了有效的方案。本文将详细介绍 MySQL 主从复制的原理、搭建步骤以及实际应用。 一、MySQL 主从复制原理 1.1 基本概念 MySQL…...

小目标检测的集成融合论文阅读

摘要 小目标检测常因图像模糊和分辨率低而受到阻碍,这给小目标的精确检测和定位带来了重大挑战。此外,传统的特征提取方法往往难以捕捉到这些目标的有效表征,因为下采样和卷积操作会导致小目标细节的模糊化。为了解决这些问题,本研究提出了一种基于集成融合的方法,通过利…...

IP SSL证书常见问题:快速实现HTTPS加密

SSL证书作为实现HTTPS加密和身份验证的关键工具&#xff0c;不仅适用于域名&#xff0c;还能直接绑定IP地址&#xff0c;为IP通信提供安全保障。 一、什么是IP SSL证书&#xff1f; IP SSL证书&#xff08;IP HTTPS证书&#xff09;是一种专为IP地址设计的SSL/TLS证书&#xf…...

Scratch——第20课 辗转相除法/绳子算法

辗转相除法是用于求取最大公约数时需要用到的方法&#xff0c;它还有个名字称为绳子算法&#xff0c;这类题目只要理解辗转相处的原理即可拿下。 一、辗转相除法的基本原理 两个整数的最大公约数不变&#xff0c;当较大数减去较小数后&#xff0c;得到的差值与较小数的最大公…...

MYOJ_1349:(洛谷P3951)[NOIP 2017 提高组] 小凯的疑惑(数学公式套用,两步搞定代码)

提示 本题代码纯属数学的结晶&#xff0c;因此肥肠简单&#xff0c;但需要一定理解。 题目描述 小凯手中有两种面值的金币&#xff0c;两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下&#xff0c;仅凭这两种金币&#xff0c;有些物品他是无法准确支付…...

如何免费把PPT的页面输出为透明的图片-快速制作图新说汇报内容

0.序 经常有朋友问想把PPT中的内容输出为图片&#xff0c;但是PPT里面的officePlus还得付费才可以。不付费就带水印还不高清&#xff0c;关键是还不透明&#xff0c;如果需要透明就设置纯底色去PS里面抠图&#xff08;可自动化&#xff09;&#xff0c;或者手动右键挨个输出。…...

操作系统——第四章(文件管理与文件的逻辑结构)

一、文件系统基础 1.文件的属性 文件名&#xff1a;由创建文件的用户决定文件名&#xff0c;主要是为了方便用户找到文件&#xff0c;同一目录下不允许有重名文件标识符&#xff1a;一个系统内的各文件标识符唯一&#xff0c;对用户来说毫无可读性。因此标识符只是操作系统用…...

剑指offer经典题目(七)

目录 动态规划 字符串相关 排序思想相关 链表相关 动态规划 题目1&#xff1a;输入一个长度为n的整型数组array&#xff0c;数组中的一个或连续多个整数组成一个子数组&#xff0c;子数组最小长度为1。求所有子数组的和的最大值。OJ地址 图示如下。 题目解析&#xff1a…...

[RoarCTF 2019]Easy Calc 详解

[RoarCTF 2019]Easy Calc 1 ajax 是进行前后端交互的 但是我们发现一个waf 就是他提示的"calc.php?num"encodeURIComponent($("#content").val()) ?num 的值必须是数字审计一下 foreach 发现了num的限制但是eval是rce的标志所以我们首选的就是使用命令…...

AI日报 - 2025年04月29日

&#x1f31f; 今日概览(60秒速览) ▎&#x1f916; AGI突破 | 巨头CEO预测AGI时间线&#xff0c;5年内或达人类认知水平&#xff1b;Yann LeCun强调多模态训练重要性。 关于AGI定义和实现时间的讨论升温&#xff0c;对超越纯文本训练的需求成为共识。 ▎&#x1f4bc; 商业动向…...

Kubernetes的错误信息处理

报错信息 E0428 13:18:25.531614 3193818 memcache.go:287] couldn’t get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request 以下是处理该 Kubernetes 指标服务报错的系统化解决方案&#xff1a; 错误诊断流程 # 1. 检查 …...

杰理-安卓通过map获取时间的时候,部分手机切换sbc和aac时候单耳无声音

杰理-安卓通过map获取时间的时候&#xff0c;部分手机切换sbc和aac时候单耳无声音 #if USER_SUPPORT_PROFILE_MAPif(tws_api_get_role()0){ //主机才获取&#xff0c;否则切换sbc 和 aac 的时候影响单耳无声音user_send_cmd_prepare(USER_CTRL_MAP_READ_TIME,0,NULL);} #endif…...

基于 Python 的实现:居民用电量数据分析与可视化

基于 Python 的实现:居民用电量数据分析与可视化 本文将介绍如何利用 Python 技术栈(包括 pymysql、pandas、matplotlib 等库)对居民用电量数据进行分析和可视化,以帮助我们更好地理解用电行为模式。 数据准备 在MySQL数据库中创建数据,,数据库表结构如下: date:记录…...

el-transfer穿梭框数据量过大的解决方案

一&#xff1a;背景 我们这个穿梭框获取的是项目的全量数据&#xff0c;在左边大概有5000条&#xff0c;自己测试了一下5000条数据的效果&#xff0c;发现异常的卡顿&#xff0c;本来打算像el-select一样去解决的&#xff08;只显示一部分&#xff0c;在搜索的时候去全量搜索&a…...

【3D基础】深入解析OBJ与MTL文件格式:Blender导出模型示例及3D开发应用

引言 在3D模型开发和3D引擎加载过程中&#xff0c;OBJ格式是最基础、最常见的标准之一。即便在今天流行的GLTF、USDZ格式出现后&#xff0c;OBJ依然是建模软件和渲染引擎普遍支持的基本格式。 本文以Blender导出的立方体模型为例&#xff0c;详细讲解OBJ与MTL文件每一部分的含…...

Fiddler+Yakit实现手机流量抓包和小程序抓包

文章目录 一、小程序抓包1、配置Fiddler2、配置Yakit 二、手机流量抓包1、配置Fiddler2、手机连接电脑热点并配置代理服务器3、手机安装证书4、配置Yakit 三、总结 操作工具&#xff1a;Yakit Fiddler 一、小程序抓包 1、配置Fiddler 点击Tools—>Options进入如下配置页面…...

C++实时统计数据均值、方差和标准差

文章目录 1. 算法原理2. 类设计3. 完整代码实现4. 总结 本文采用了一种递推计算方法&#xff08;Welford 算法&#xff09;实时更新数据的均值、方差和标准差&#xff0c;其算法原理及实现如下。 1. 算法原理 ‌Welford算法‌是由B.P.Welford于1962年提出的&#xff0c;用于计…...

【广州华锐视点】AR 远程协同:突破时空限制的利器

AR 远程协同&#xff0c;简单来说&#xff0c;就是利用增强现实(AR)技术&#xff0c;打破地理空间的束缚&#xff0c;让身处不同地方的人们能够在同一虚拟空间中进行实时协作。它就像是为人们搭建了一座无形的桥梁&#xff0c;将现实与虚拟紧密相连&#xff0c;让沟通和协作变得…...

【Docker】——在Docker工具上安装创建容器并完成项目部署

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大三学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…...

9. 使用Gazebo和Rviz显示机器人(包括运动控制,雷达,摄像头仿真以及显示)

概述&#xff1a;通过Gazebo和Rviz集成机器人&#xff0c;机器人的组件包括底盘&#xff0c;雷达&#xff0c;摄像头&#xff0c;可以在Gazebo中仿真和显示。并且能够订阅运动控制话题&#xff0c;雷达话题&#xff0c;摄像头话题在Rviz中仿真和显示。 1.新建功能包和导入依赖 …...

跨语言哈希一致性:C# 与 Java 的 MD5 之战?

在跨平台或异构系统集成的场景中&#xff0c;我们经常需要在不同的编程语言之间交换数据或验证数据一致性。MD5 作为一种广泛使用的哈希算法&#xff0c;就常常扮演着生成唯一标识或校验数据完整性的角色。然而&#xff0c;不少开发者可能会遇到这样一个令人困惑的问题&#xf…...

赋能航天教育:高校卫星仿真教学实验平台解决方案

​​​​​​ 随着全球航天事业的飞速发展&#xff0c;对高素质航天人才的需求日益增长。如何在高校阶段提前锻炼学生的航天工程实践能力&#xff0c;成为教育界的重要命题。作为领先的通信与网络技术供应商&#xff0c;IPLOOK基于自身在5G核心网、卫星通信及仿真平台领域的深…...

H指数(中等)

可以先对数组从小到大排序&#xff0c;然后数组后面往前遍历&#xff0c;计算h的值。 如果从后往前遍历&#xff0c;当前位置的数&#xff0c;如果大于h&#xff0c;就说明又找到了一个引用次数大于h的文献&#xff0c;h指数可以加一了。 class Solution {public int hIndex(…...

推荐 1 款 9.3k stars 的全景式开源数据分析与可视化工具

Orama 是一个开源的数据分析与可视化项目&#xff0c;由askorama团队开发和维护。该项目旨在为用户提供一套强大而易用的工具集&#xff0c;帮助用户轻松处理和理解大规模数据&#xff0c;通过创建交互式且引人入胜的数据可视化图表&#xff0c;揭示隐藏在数据背后的深层次洞察…...

无人船 | 图解基于LQR控制的路径跟踪算法(以全驱动无人艇WAMV为例)

目录 1 最优控制线性二次型问题2 LQR的价值迭代推导3 基于全驱动无人船动力学的LQR4 跟踪效果分析 1 最优控制线性二次型问题 最优控制理论是一种数学和工程领域的理论&#xff0c;旨在寻找如何使系统在给定约束条件下达到最佳性能的方法。它的基本思想是通过选择合适的控制输…...

检查IBM MQ SSL配置是否成功

使用 DISPLAY 命令检查任务是否已成功完成。 如果任务成功&#xff0c;那么生成的输出类似于以下示例中显示的输出。 从队列管理器 QM1&#xff0c;输入以下命令: DISPLAY CHS(QM1.TO.QM2) SSLPEER SSLCERTI 生成的输出类似于以下示例: DISPLAY CHSTATUS(QM1.TO.QM2) SSLPE…...