自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 收藏
  • 关注

原创 Kubernetes Route控制器简单介绍

本文深入解析Kubernetes生态中的Route控制器架构,涵盖IngressController、OpenShiftRoute和GatewayAPI三种实现。重点剖析了NginxIngressController的核心工作流程、配置生成机制和HAProxy实现细节,详细介绍了OpenShiftRoute的架构设计、证书管理和配置转换过程。文章还探讨了新一代GatewayAPI控制器的架构特点和工作流程,并深入讲解了负载均衡算法、健康检查、证书管理等核心功能实现。最后总结了Route控制器的最佳实践,包括

2026-01-09 14:59:54 730

原创 etcd在Kubernetes中的作用简单介绍

Kubernetes使用etcd作为分布式键值存储,存储集群状态和配置数据。文章详细介绍了etcd在Kubernetes中的核心架构,包括数据存储结构(如Pod、Service等资源的存储路径)、资源版本机制,以及服务发现、配置存储和领导者选举等关键功能。同时提供了性能优化实践(存储配置、客户端连接池)、高可用部署方案(集群架构、备份恢复)和故障诊断方法(监控指标、常见问题排查)。最后展望了etcd在云原生生态中的发展方向,如多租户支持和分层存储,并总结了etcd作为Kubernetes核心存储组件的关键作

2025-12-16 14:12:51 703

原创 etcd核心架构与设计原理简单介绍

摘要:etcd是一个分布式键值存储系统,提供可靠的分布式协调服务。其核心架构分为存储层(BoltDB引擎+WAL日志)、Raft共识层、API服务层和客户端接口层。关键技术包括:1)基于Raft算法实现强一致性,通过选举机制保证高可用;2)MVCC多版本并发控制,采用修订版本管理数据生命周期;3)高效的Watch机制,支持键/前缀监听和事件过滤。系统特点包括强一致性、高可用性、高性能和安全性,适用于分布式系统的关键数据存储与协调场景。

2025-12-15 11:29:19 1172

原创 Kubernetes中的网关实现简单说明

Kubernetes网关体系架构演进与选型指南 本文系统分析了Kubernetes网关技术的发展历程和关键组件。从基础的Ingress资源到新一代Gateway API标准,详细对比了Nginx、Traefik等Ingress Controller的实现特点。深入探讨了服务网格网关(Istio)和API网关(Kong)的架构设计,通过配置示例展示了流量管理、安全策略等核心功能。文章提供了多维度选型决策矩阵,建议传统Web应用选用Nginx Ingress,微服务API采用Kong,服务Mesh场景选择Ist

2025-12-05 15:10:31 867

原创 网关的核心概念及简单演进介绍

本文系统阐述了网关的核心概念与演进历程。网关作为网络协议转换和流量管理的中间件系统,主要承担协议适配、统一入口和关注点分离三大功能,使业务服务能专注于核心逻辑。网关发展经历了四个阶段:从早期的硬件/软件网关,到应用交付控制器(ADC),再到云原生API网关,最终演进至服务网格边车网关时代。随着技术进步,网关功能从基础负载均衡发展为支持动态服务发现、细粒度流量控制和全链路可观测性等高级特性,逐步成为现代分布式架构的关键组件。

2025-12-05 15:04:49 490

原创 NAT机制深度解析与Kubernetes网络通信优化简单说明

摘要:本文深入解析了NAT技术原理及其在Kubernetes中的应用。首先详细介绍了NAT的三种类型(静态NAT、动态NAT、PAT/NAPT)及其转换过程,分析了NAT在地址节约和安全性方面的优势,以及带来的性能开销和协议兼容性问题。然后重点阐述了Kubernetes如何通过扁平网络模型和CNI插件(如Calico、Flannel、Cilium)实现Pod间直接通信,规避NAT转换。文章还探讨了Service机制中不可避免的NAT使用,并提出了IPVS、eBPF等优化方案。最后给出了不同规模集群的网络配置

2025-12-03 14:35:50 1016

原创 python使用mqtt代码示例

本文介绍了一个完整的MQTT协议实现示例,包含基础客户端、传感器发布者、智能订阅者等核心组件。代码演示了物联网场景模拟,包括温度/湿度传感器数据发布、异常警报处理等功能。文章还详细讲解了MQTT高级特性(QoS级别、保留消息、遗嘱消息)和实际应用场景(智能家居、工业物联网等)。最后提供了MQTT最佳实践建议,包括安全加密、性能优化和主题设计规范,并对比了主流MQTT服务器选择。MQTT凭借其轻量、高效的特点已成为物联网通信的标准协议,特别适合低功耗设备和受限网络环境。

2025-12-02 13:53:49 398

原创 MQTT协议详解及应用场景

MQTT是一种轻量级物联网通信协议,采用发布/订阅模式,适合低带宽网络环境。其核心特性包括:最小2字节报文头、三种QoS等级(最多/至少/恰好一次)、主题分层结构和通配符匹配、保留消息和遗嘱消息功能。协议包含14种报文类型,支持智能家居、工业物联网、车联网等场景。相比HTTP/CoAP/AMQP,MQTT在功耗和实时性方面表现更优。MQTT 5.0新增共享订阅、消息过期、主题别名等增强功能,改进了会话管理和错误处理机制。该协议特别适用于需要高效稳定通信的物联网设备连接场景。

2025-12-02 11:42:25 768

原创 Go语言实现Kubernetes主从架构模拟系统细节说明(姐妹篇)

本文介绍了使用Go语言构建Kubernetes核心组件的优势:1)原生goroutine和channel机制实现高效并发;2)强类型系统和接口设计提升系统健壮性;3)sync包确保线程安全;4)可扩展架构支持完整Kubernetes功能;5)提供丰富的性能优化工具;6)能与真实Kubernetes生态无缝集成;7)标准测试框架简化组件测试;8)轻松添加监控和指标收集功能。这些特性使Go成为实现Kubernetes组件的理想选择。

2025-12-01 14:06:11 417

原创 Go语言实现Kubernetes主从架构模拟系统

本文实现了一个基于Go语言的Kubernetes集群模拟器,包含核心组件如APIServer、调度器、Kubelet和控制器管理器。系统采用goroutine实现并发,通过mutex保证线程安全,使用channel进行事件通知。主要功能包括:1) 模拟Pod调度过程,实现资源感知的调度算法;2) 节点状态监控和自动恢复;3) 部署控制器管理应用生命周期;4) 实时集群状态监控。相比Python实现,该方案具有原生并发支持、编译时类型检查、更好的内存效率等优势,更接近真实Kubernetes架构。系统通过模拟

2025-12-01 14:01:31 226

原创 Docker 的核心理念及技术的简单说明

Docker的核心理念建立在Linux内核的cgroup和namespace技术上,实现了轻量级容器化。namespace提供进程隔离(PID、网络、文件系统等),如同独立房间;cgroup控制资源使用(CPU、内存等),类似水电配额。两者结合使容器既隔离又资源可控。Docker通过Mount namespace确保环境一致性,NET namespace支持微服务独立网络,cgroup保障关键服务资源。实际应用包括开发环境标准化、CI/CD资源限制、多租户隔离等。Docker将底层技术封装为易用的容器方案,

2025-11-25 11:20:18 720

原创 docker的简单介绍

Docker是一种轻量级容器技术,通过操作系统级虚拟化将应用及其依赖打包成可移植的容器。核心组件包括镜像(应用模板)、容器(运行实例)和仓库(镜像存储)。与传统虚拟机相比,Docker更轻量高效,启动更快且资源占用少。它广泛应用于标准化交付、微服务架构、CI/CD流程等场景,并正扩展至AI模型部署等新兴领域。Docker通过共享主机内核实现资源隔离,同时持续增强安全特性,在云原生生态中保持重要地位。

2025-11-25 11:12:55 651

原创 Server-Client二层架构简单说明

摘要:C/S架构(二层架构)是一种将系统功能划分为客户端和服务器端的软件模型。客户端负责用户界面和业务逻辑处理("胖客户端"),服务器端专注于数据存储和管理。该架构响应速度快、界面丰富,但存在部署维护困难、安全性差等缺点。随着发展,现代系统多采用三层架构(表示层-业务逻辑层-数据层)来解决二层架构的不足。尽管逐渐被取代,C/S架构仍是理解系统架构演变的基础,在某些特定场景下仍有应用价值。(148字)

2025-11-24 19:41:49 598

原创 Kubernetes主从架构解析:基于Python的完整代码实现(上篇文章姊妹篇)

本文实现了一个Kubernetes主从结构的Python模拟系统,包含APIServer、Scheduler、ControllerManager等控制平面组件和Kubelet、Node等工作节点组件。系统支持Pod调度、资源管理、状态监控等核心功能,模拟了基于资源需求的调度算法、节点故障恢复机制以及Pod生命周期管理。通过多线程实现组件并发运行,并提供了实时集群状态监控面板,展示节点资源使用情况和Pod运行状态。该模拟系统完整呈现了Kubernetes的核心工作流程,包括Pod创建、调度、执行到完成的整个过

2025-11-24 17:58:55 253

原创 Kubernetes主从架构简单解析:基于Python的模拟实现

本文通过Python模拟Kubernetes架构,深入解析其主从式设计和工作原理。模拟系统实现了核心组件:APIServer作为集群中枢,Scheduler负责智能调度,Kubelet管理节点Pod生命周期,Controller维护集群状态。文章详细演示了Pod从创建、调度到执行的完整生命周期,展示了组件间的协作机制,并模拟了资源管理、故障恢复等关键功能。该模拟系统不仅帮助理解Kubernetes内部机制,还为测试调度策略和扩展功能提供了实践平台,具有显著的教育和开发价值。

2025-11-24 17:55:53 1014

原创 测试过程涉及python自动化及其他相关面试问题汇总

摘要: 本文涵盖了Python自动化测试、Linux运维及JMeter性能测试三大领域的核心知识点。在Python方面,重点解析了__init__.py文件的作用、pytest fixture的scope参数应用以及Selenium处理动态元素的方法。Linux部分涉及进程管理、日志排查和权限控制等实用技巧。JMeter相关内容包含线程组设计、性能指标分析和错误排查策略。此外,还探讨了功能测试要点、CI/CD集成方法以及自动化测试的选型标准。全文以实际问题为导向,提供了从基础概念到高级应用的系统性解决方案,

2025-10-30 11:34:17 851

原创 处理windows11升级反复重启问题

系统更新失败导致反复重启的解决方案包括:1)强制进入安全模式,通过3次强制关机触发自动修复界面;2)在安全模式下关闭自动重启功能;3)卸载问题更新补丁,可通过控制面板或微软更新目录手动修复。重点处理最近安装的特定补丁(如KB5039302),必要时重新下载安装修复文件。这些措施需根据系统状态灵活选择实施。

2025-08-25 14:11:12 2188

原创 python装饰器的常见使用场景及样例

装饰器不仅可以用于函数,还可以用于类。类装饰器接受一个类作为参数,并返回修改后的类。记录函数的调用信息、参数和返回值。缓存函数的返回值,避免重复计算。在函数执行前检查用户权限。在函数失败时自动重试。计算函数的执行时间。

2025-02-10 17:03:35 329

原创 python装饰器的介绍及简单样例

Python 中的,同时保持代码的简洁性和可复用性。

2025-02-10 16:54:46 411

原创 httprunner参数调用样例及其他说明

在中,如果你需要在多个用例中使用同一个响应体(比如获取token。

2024-12-19 11:28:45 504

原创 httprunner自动生成用例执行样例

无论使用fiddler或者其他抓包工具都支持http协议的导出,选中任意一个url,默认会是har格式:首先得保证环境上有这个:这个支持yml和json格式的用例输出,har2case -h查看帮助:具体生成就是,这个就是生成yml的格式,如果不加-2y,默认是json格式:直接执行即可,这里面有个实际需要注意的场景,httprunner支持的依赖包如果不对,则在执行的过程中会存在各种问题,所以首先解决依赖包问题,以下依赖包可以参考:但是在执行过程仍会碰见这个问题:

2024-12-10 11:44:19 586

原创 httprunner实践样例

HTTPRunner 是一个非常好用的自动化测试框架,它用于 HTTP API 测试,支持 RESTful、GraphQL 等接口类型,结合 YAML 或 Python 可以非常灵活地进行接口测试。它提供了一个直观的方式来写测试案例,并且可以将测试用例和报告集成到持续集成(CI)流程中。

2024-12-06 16:55:17 1245

原创 ADB常用各模块操作命令

学习如何通过ADB命令来控制设备,尤其是在自动化测试、开发调试中如何灵活使用这些命令。了解如何通过ADB获取设备的详细调试信息,分析设备性能问题、内存泄漏等,提升调试能力。可以查看当前设备的活动信息,帮助你查看正在运行的应用等信息。这条命令可以获取设备的型号信息,常用来确认目标设备。这个命令返回设备的唯一ID,可以用作设备的标识符。这条命令可以获取设备的Android系统版本。获取设备的实时日志输出,用于调试和排查问题。获取设备的名称(通常是硬件平台的名称)。重启设备,常用于测试中的设备复位。

2024-12-05 15:14:54 1480

原创 Monkey结合appium模拟操作特定界面

虽然Monkey本身是随机操作的,但你可以通过确保某些界面元素的存在或条件来让Monkey操作特定的界面。在你希望操作的界面上设置唯一的标识元素(例如某个按钮的文本或ID)。你可以使用一些机制来检查应用界面状态(例如,通过元素是否可见、是否存在等),然后只有在满足这些条件时才启动 Monkey。你可以使用 Appium 或者 UI Automator 定位到特定的界面元素,再用 Monkey 模拟用户操作。如果你不希望 Monkey 随机触发过多的事件,可以通过参数限制 Monkey 的操作类型。

2024-12-05 14:58:57 1309

原创 window解决通用模拟器调用摄像头及无法访问内网应用问题

【代码】解决模拟器调用摄像头及内网应用问题。

2024-12-05 10:38:15 2886

原创 Monkey操作及问题场景具体样例日志分析

在崩溃发生时,你需要查看。输出中的异常堆栈信息。: 内存问题的日志通常包括。: ANR日志通常可以在。这些问题都可以通过结合。日志进行排查和优化。

2024-12-02 18:25:05 748

原创 安卓mokey测试学习思路

【代码】安卓mokey测试学习思路。

2024-11-29 10:43:39 520

原创 fiddler安卓雷电模拟器配置踩坑篇

至此到fiddler上查看应用访问相关数据即可。但我根据最新的模拟器使用情况,

2024-11-28 15:22:30 1397

原创 selenium动态判断滚轮方向样例

要根据目标元素的位置动态决定是向下滑动还是向上滑动,可以结合。和目标元素的位置来实现逻辑判断。

2024-11-28 15:04:03 371

原创 selenium自动化鼠标滚轮滑动的几种实现

自定义滚动步进for i in range(0, 1000, 100): # 每次向下滚动 100 像素")time.sleep(0.5) # 每次滚动后等待页面加载。

2024-11-25 18:44:50 1136

原创 selenium操作已开启的浏览器,方便调试

注意事项:端口需要不被占用,--user-data-dir="D:\workspace\chrome-data"这个路径需要有权限访问,不能放在一个需要管理员访问的路径下,否则浏览器打不开。执行代码时有时会比较慢,需要有点耐心。

2024-11-01 14:44:18 1307

原创 pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误

对象,确保将其转换为字符串。这个错误信息表明在尝试连接一个序列(方法只能处理字符串,因此引发了。方法获取其文本或 HTML 内容。)时,序列中的第一个元素是一个。对象,而不是字符串。

2024-10-31 18:40:17 666

原创 appium自动化对已打开的app操作

由于 Appium 4.x 版本对会话的管理方式发生了变化,直接重用会话的功能可能不再支持。你可能需要调整测试策略,采用新的方法与已经打开的应用进行交互,比如使用 ADB,就为了找这个我找了很久网上都没有说明,老版本的appium支持对session重复使用,也就是操作之前的session即可,这个目的主要是为了调试方便使用。你可以通过 ADB(Android Debug Bridge)直接与已经打开的应用进行交互。

2024-10-29 18:13:41 789

原创 appium文本输入的多种形式

【代码】appium文本输入的多种形式。

2024-10-28 16:25:49 1654

原创 uiautomatorviewer安卓9以上正常使用及问题处理

打开Unexpected error while obtaining UI hierarchy。

2024-10-18 17:17:56 700

原创 appium启动hbuild打包的apk异常解决

adb shell dumpsys package uni.UNIDCC1D16 --里面找active的那个状态包。

2024-10-14 17:28:28 707

原创 python+appium+雷电模拟器安卓自动化及踩坑

把platform-tools及tools添加到系统环境变量,变量值(路径)之间使用分号隔开,两个变量值分别为:%ANDROID_HOME%\platform-tools;pip install appium-python-client==2.0,这里面坑来了,这个之后再补充,不同版本的appium使用不一样。安装完成后直接start即可,但这里面有个坑,也就是到时候运行python时会有,里面包含这种错误,这个就需要启动appium时以。通过sdk manager安装最新的安卓依赖。

2024-10-10 16:29:04 2330

原创 windows11下vscode配置lua环境

配置code runner。

2024-09-28 10:15:02 893 1

原创 windows环境下luarocks下载包的使用

用于分隔多个路径,之后就可以直接进行调用。配置下载地址通过--tree。

2024-09-28 10:06:33 1002

原创 windows11环境安装lua及luarocks(踩坑篇)

官方地址:从这里就有坑了,下载后先解压win64_bin.zip,之后解压lib,用lib中的文件替换win64的,并把include文件夹复制过去,之后复制并重命名lua54,方便后期使用:官网:直接解压后把解压的文件复制到刚才的目录下:安装后检查,在本目录下运行 luarocks,保证这3个是ok的,如果不ok则检查上面的步骤,可能include包没找到等原因:执行依旧报错:

2024-09-25 18:30:00 2908 1

蓝叠模拟器安装工具需要在线下载

1、对于目前不习惯用官网的人给的官方下载工具; 2、避免下载到流氓软件,导致病毒等; 3、亲测有效

2024-12-05

流程图制作本地软件,支持导入现成资源

1、可以进行基本流程图本地操作; 2、支持导入各种类型如云原生的相关图库

2024-12-05

安卓网络network工具

1、支持ping操作; 2、端口扫描 3、设备IP检测。

2024-11-28

安卓9以上uiautomatorviewer相关依赖包

1、解决安卓9版本以上的uiautomatorviewer元素定位; 2、自己亲测有效,我会专门写个文章来说明。

2024-10-18

lua54.lib解决window11环境问题

用于visual studio对应的静态库,用于解决lua环境问题

2024-09-25

Kubernetes Tutorials | k8s 教程

k8s完整教程讲解: 在学习本教程前,需要注意本教程侧重于实战引导,以渐进式修改代码的方式,将从最基础的 container 容器的定义开始,经过 `pod`, `deployment`, `service`, `ingress`, `configmap`, `secret` 等资源直到用 `helm` 来打包部署一套完整服务。所以如果你对容器和 k8s 的基础理论知识不甚了解的话,建议先从 [官网文档](https://kubernetes.io/zh-cn/docs/home/) 或者其它教程获取基础理论知识,再通过实战加深对知识的掌握!

2022-11-21

Pylint检查规则中文版md文档

文档结合谷歌翻译进行,对pylint的检查规范进行整理,有需要的可以进行下载

2022-11-21

python-PEP8编码规范md文档

python-PEP8编码规范md文档,结合pylint的检查规范进行学习

2022-11-21

etcd3.5的docker镜像(ext4.vhdx+tar)

1、里面包含我打好的tar文件 2、docker的本地镜像文件vhdx 3、参看我的文章可以进行docker镜像启动

2024-01-05

docker:4.23.0.0windows版本

1、docker:4.23.0.0windows版本; 2、在windows11上可以正常启动运行,参看我的博客文档

2024-01-04

draw.io的云原生(CNCF)的图形包

1、图形资源包括CNCF相关的图形组件 2、zip中包含5个文件xml内容 3、通过draw.io进行下载

2024-01-03

最新版本dlv文件支持goland的debug调试

1、最新版本dlv文件支持goland的debug调试; 2、可以替换goland内的老版本支持调试 3、解决error layer=debugger could not patch runtime.mallogc: no type entry found, use 'types' for a list of 4、替换路径为C:\GoLand 2021.2.2\plugins\go\lib\dlv\windows

2023-12-19

jmeter的json-pligins

1、处理jmeterjson处理相关的异常

2023-10-24

windows粘贴扩展工具

1、可以将多次粘贴的内容记录下来; 2、通过快捷键快速调用所粘贴的内容;

2023-07-21

nodepad++8.5版本

1、nodepad++8.5版本 2、大家可以按需下载使用

2023-04-22

dbeaver-ue专业版安装包

dbeaver专业版安装包

2022-12-16

jmeter访问GRPC的Jar包

1、目标放置位置,放置在jmeter的ext扩展路径下:E:\apache-jmeter-5.4.1\lib\ext 2、具体操作: 使用JMeter发出gRPC请求 创建测试脚本: 添加线程组:右键单击样本测试(我们的测试计划)→ 添加→ 线程(用户)→ 线程组。 添加GRPC请求:右键单击新创建的线程组→ 添加→ 采样器→ GRPC请求。 填充信息请求:主机、端口、方法、数据请求、原型文件夹。 保存测试脚本。 3、说明:目前不支持证书访问,有能够通过证书访问的朋友,可以交流

2022-11-21

空空如也

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

TA关注的人

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