- 博客(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
原创 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
原创 Monkey操作及问题场景具体样例日志分析
在崩溃发生时,你需要查看。输出中的异常堆栈信息。: 内存问题的日志通常包括。: ANR日志通常可以在。这些问题都可以通过结合。日志进行排查和优化。
2024-12-02 18:25:05
748
原创 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
原创 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环境安装lua及luarocks(踩坑篇)
官方地址:从这里就有坑了,下载后先解压win64_bin.zip,之后解压lib,用lib中的文件替换win64的,并把include文件夹复制过去,之后复制并重命名lua54,方便后期使用:官网:直接解压后把解压的文件复制到刚才的目录下:安装后检查,在本目录下运行 luarocks,保证这3个是ok的,如果不ok则检查上面的步骤,可能include包没找到等原因:执行依旧报错:
2024-09-25 18:30:00
2908
1
Kubernetes Tutorials | k8s 教程
2022-11-21
etcd3.5的docker镜像(ext4.vhdx+tar)
2024-01-05
最新版本dlv文件支持goland的debug调试
2023-12-19
jmeter访问GRPC的Jar包
2022-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅