自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(60)
  • 收藏
  • 关注

原创 如何实现用户态可控的网络传输

如何实现用户态可控的网络传输

2025-03-27 15:23:59 572

原创 网损仪详解

**网损仪**(Network Impairment Emulator)是一种用于模拟真实网络环境中各种异常条件和性能损耗的测试工具,主要应用于网络设备、协议、应用程序的**可靠性、稳定性和性能测试**。它通过人为引入网络损伤(如延迟、丢包、抖动、带宽限制等),帮助开发者验证系统在复杂网络环境下的表现。

2025-03-27 15:20:48 420

原创 安装Cygwin中遇到 “无法下载镜像站点列表”

安装Cygwin中遇到 “无法下载镜像站点列表”

2025-03-27 15:17:11 305

原创 top命令显示iowait (wa)非常高时怎么排查

当top命令显示非常高时,表示系统正在等待 I/O 操作完成。要确定是磁盘 I/O 还是网络 I/O 导致的等待,可以使用以下工具和方法进行进一步排查。

2025-02-19 23:15:36 398

原创 top命令输出内容详解

us和sy反映 CPU 的繁忙程度。wa反映 I/O 瓶颈。id反映系统空闲程度。st反映虚拟化环境中的资源竞争。通过分析这些指标,可以快速了解系统的 CPU 使用情况和性能瓶颈。

2025-02-19 23:13:08 401

原创 C++的位域特性如何控制对齐系数alignment

在 GCC 中,位域的对齐系数(alignment)通常是由编译器根据结构体内的元素类型自动决定的。不过,可以使用某些编译器选项和与结构体相关的属性来影响对齐方式。

2024-09-26 11:08:22 332

原创 IP/TCP/UDP协议的关键知识点

TCP/IP/UDP关键知识点

2024-09-04 15:41:45 1304 1

原创 TCP详细图解(滑动窗口、TCP 重传、流量控制、拥塞控制等)

前面的流量控制例子,我们假定了发送窗口和接收窗口是不变的,但是实际上,发送窗口和接收窗口中所存放的字节数,都是放在操作系统内存缓冲区中的,而操作系统的缓冲区,会。那么,当发生窗口关闭时,接收方处理完数据后,会向发送方通告一个窗口非 0 的 ACK 报文,如果这个通告窗口的 ACK 报文在网络中丢失了,那麻烦就大了。接着,就重新开始慢启动,慢启动是会突然减少数据流的。这会导致发送方一直等待接收方的非 0 窗口通知,接收方也一直等待发送方的数据,如不采取措施,这种相互等待的过程,会造成了死锁的现象。

2024-09-02 17:24:35 1962

原创 探究一个数据包在网络中的历程

面试最常见问题想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。还别说,这真是挺常问的这题,前几天坐在我旁边的主管电话面试应聘者的时候,也问了这个问题。

2024-09-02 17:14:10 1442

原创 QUIC协议介绍和优势总结

QUIC协议详解和优势分析

2024-08-16 14:23:58 1472

原创 分布式哈希表DHT和Kademlia算法详解

Kademlia是分布式哈希表(Distributed Hash Table, DHT)的一种。而DHT是一类去中心化的分布式系统。在这类系统中,每个节点(node)分别维护一部分的存储内容以及其他节点的路由/地址,使得网络中任何参与者(即节点)发生变更(进入/退出)时,对整个网络造成的影响最小。DHT可以用于构建更复杂的应用,包括分布式文件系统、点对点技术文件分享系统、合作的网页高速缓存、域名系统以及实时通信等。

2024-08-07 15:31:14 1102

原创 纠删码EC和RS RLNC的比较

RLNC(Random Linear Network Coding,随机线性网络编码)、EC(Erasure Coding,擦除编码)和RS(Reed-Solomon Code,里德-所罗门码)都是信息论和编码理论中的技术,主要用于提高数据传输的可靠性和效率。而RLNC则是一种更高级的网络传输策略,利用线性组合数据包的思想来提升网络的传输效率和可靠性,它可以看作是一种更广泛意义上的编码技术,在网络层面上应用了类似EC的理念,但实现机制更为复杂和灵活。

2024-07-26 15:04:30 567

原创 Solana介绍

Solana 是一个高速、低延迟和可扩展的区块链平台,通过其独特的技术创新,如Proof of History (PoH)、Tower BFT共识和高效数据传播协议,极大地提升了交易处理能力和效率。尽管面临去中心化和安全性等挑战,Solana 仍然通过其强大的生态系统和广泛的应用前景,展现出巨大的潜力。它为去中心化应用和加密货币提供了一个高性能、低成本的基础设施,吸引了大量开发者和用户的参与。

2024-07-17 11:27:59 1495

原创 解决yum安装错误:Couldn‘t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

这个配置告诉YUM,这个repository的GPG key存在于磁盘上。而当YUM在路径 /etc/pki/rpm-gpg 下找不到这个GPG key的时候,就会报如上的错误了。安装epel的方法是: yum install -y epel-release。有些包是需要先安装epel之后才能装上的。然后再次运行 yum 命令就可以成功了。

2024-07-04 10:43:43 967

原创 Linux上systemctl 和 service 两个命令的区别和联系

systemctl和service两个命令都是 Linux 系统中用于管理服务的工具,但它们分别关联着不同的初始化系统(init system),并且在功能和使用场景上有所差异。service。

2024-07-03 10:33:39 1878

原创 k8s的daemonset里判断CRD资源里定义的NodeSelector是否包含本节点

k8s的daemonset里判断CRD资源里定义的NodeSelector是否包含本节点

2024-06-25 10:35:11 520 1

原创 helm chart里优雅的定义k8s容器的启动命令行

在 Helm Chart 中定义容器的启动命令行时,确实可以直接写整个命令行,但需遵循 Helm 的模板语法。Helm 使用 Go 的文本模板语言来动态生成 Kubernetes 配置文件,这意味着你需要将完整的命令行字符串放在双大括号{{ }}内,并且可能需要使用转义或连接符来确保特殊字符被正确处理。例如,如果你想要设置容器的command和args,你可以在文件中定义它们,然后在(或对应的 Kubernetes 资源模板文件中)使用.Values来引用这些值。

2024-06-25 10:30:26 582

原创 golang封装一个执行命令行的函数(return stderr/stdout/exitcode)

golang封装一个执行命令行的函数,可以直接返回stderr, stdout, 退出码等。

2024-06-25 10:21:51 1161

原创 Kubernetes 调度Pod 时遇到的磁盘压力问题node.kubernetes.io/disk-pressure

Kubernetes 调度Pod 时遇到的磁盘压力问题node.kubernetes.io/disk-pressure

2024-06-25 10:16:48 2130 1

原创 kubectl 用--patch动态修改k8s的资源

kubectl 用--patch动态修改k8s的资源

2024-06-25 10:07:40 1687

原创 x86_64平台通过qemu-user-static 运行arm64的docker镜像

在x86_64平台通过qemu-user-static运行arm64的docker镜像

2024-06-17 15:34:14 2193

原创 KCP协议介绍

KCP协议介绍以及应用场景

2024-06-17 14:09:53 1286

原创 用helm安装chart的时候如何使用master的IP

用helm安装chart的时候如何使用master的IP

2024-06-15 17:11:57 662

原创 ovn的调试方法

ovn的调试方式

2024-06-15 16:49:54 459

原创 helm命令如何修改values.yaml里面的变量值

helm命令如何修改values.yaml里面的变量值

2024-06-15 16:46:37 1664

原创 如何清理docker build的缓存

如何清理docker build的缓存

2024-06-15 16:42:54 3727

原创 如何用helm命令安装chart内的部分yaml文件

如何用helm命令安装chart内的部分yaml文件

2024-06-15 16:41:21 556

原创 用ip link add link命令创建vlan子设备

用ip link add link命令创建vlan子设备

2024-06-15 11:00:42 2432

原创 golang字符串拼接和strings.Builder

golang字符串拼接

2024-06-15 10:54:51 784

原创 Docker 镜像库国内加速的几种方法

这里提供几个当前可用的镜像仓库,更新到/etc/docker/daemon.json即可。在国内,拉取 Docker 镜像速度慢 / 时不时断线 / 无账号导致限流等,比较痛苦。的 Github Action 执行结果。

2024-06-15 10:48:26 11119 2

原创 k8s环境里查看containerd创建的容器对应的netns

k8s环境里查看containerd创建的容器对应的netns

2024-06-15 10:11:20 1469

原创 在线面试写代码的网站

在线面试写代码的网站

2024-06-05 17:49:54 223

原创 使用proot+Qemu在x86_64平台运行arm架构程序

使用proot+Qemu在x86_64平台运行arm架构程序

2024-05-31 17:27:58 586

原创 proot原理介绍和使用范例

proot原理介绍和使用范例

2024-05-31 17:19:56 2340

原创 如何查看Linux kernel用哪个版本的gcc编译的?

如何查看kernel使用哪个版本的gcc编译的?

2024-05-27 15:16:42 1620 1

原创 如何利用curl命令访问Kubernetes API server

如何用curl命令访问Kubenetes API server

2024-05-24 15:42:07 402

原创 std::unique_lock 和 std::lock_guard的比较

简而言之,如果你需要更简单的锁管理(例如 RIIA 风格的自动锁定和解锁),并且不需要中间解锁或只是想要自动锁定和解锁机制,那么是一个好选择。如果你需要更复杂的互斥锁操作,比如延迟锁定、手动解锁/锁定或与条件变量一起使用等,则应该使用。在性能敏感的代码中,如果不需要的额外功能,则推荐使用。

2024-05-13 19:05:08 636

原创 C++条件变量避免虚假唤醒的例子

C++条件变量避免虚假唤醒的例子

2024-05-07 17:12:52 464

原创 C++ STL的锁介绍

C++ STL的锁介绍

2024-05-07 16:45:13 445

原创 Keepalived和conntrackd介绍

keepalived和connrackd介绍。使用conntrackd切换连接的时候,client侧的TCP连接会断掉么

2024-04-28 15:52:47 1018 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除