- 博客(142)
- 资源 (3)
- 收藏
- 关注
原创 thread堆栈分析报告
摘要:RabbitMQ消费者程序因调用第三方服务时发生IO阻塞导致消息堆积,线程处于RUNNABLE状态但实际无工作。测试复现显示,未设置熔断时3秒才能消费一条消息。通过引入Resilience4j熔断机制,配置基于失败率的断路器(窗口大小5、失败率阈值10%、半开状态允许3次调用),配合120秒休眠时间,成功解决消息堆积问题。关键依赖包括resilience4j-spring-boot2和spring-boot-starter-aop。该方案避免了盲目扩容消费者,有效平衡了上下游服务压力。
2025-12-22 17:38:43
297
原创 中间件磁盘满P0事故解决方案分享
MongoDB数据存储分析:该数据库效率较高但存在10ms数据丢失风险。磁盘阈值机制暂未实现。主要目录结构包括:bin存放可执行文件,data存储数据文件,log保存日志文件,conf存放配置文件。存储方案在性能与数据安全性之间需要权衡,建议关注潜在的数据丢失问题并完善磁盘管理机制。
2025-12-20 23:35:08
268
原创 Ceph基础原理分享
本文概述了Ceph存储架构的关键组件和优化配置建议。重点介绍了Radosgw层的Bucket/Object管理,以及Rados层的核心成员、Pool/Object管理、对象寻址机制和CrushMap算法。针对性能优化,提出了PG/PGP分配建议、禁用动态分片功能、SSD专用Pool设置方案,并详细说明了Radosgw垃圾回收(GC)的关键参数调优策略,包括处理对象数、执行时长、回收等待时间和处理周期等参数的调整原则。这些优化措施可根据底层存储设备性能特点灵活配置,以提升Ceph集群的整体性能表现。
2025-12-20 23:05:46
204
原创 基于合同审核场景的稽核点动态定位技术调研报告
本报告调研了合同审核场景中的文档稽核点动态定位技术。针对Word文档格式,对比了Spire+Jsoup和Spire+OnlyOffice两种方案:前者开发简单但样式还原差,后者支持复杂操作但开发成本高。对于PDF/图片格式,提出采用vue-pdf结合OCR识别的方案。调研结果表明,上述技术方案基本能满足合同审核中对不同格式文档的稽核点定位需求,但需在开发成本和功能完整性之间进行权衡。报告为运营商场景的文档审核系统建设提供了技术选型参考。
2025-12-20 12:38:43
1006
原创 支持raid10的fastdf ha搭建
本文详细介绍了基于RAID10的FastDFS高可用集群搭建方案。主要内容包括:1) FastDFS HA原理,通过Tracker集群实现负载均衡,Storage分组实现类似RAID10的高可靠存储;2) 集群规划与软件版本选择;3) 详细部署步骤,包括Tracker集群、Storage集群、代理集群配置;4) 功能测试结果,验证了集群高可用、负载均衡、数据同步等特性;5) 客户端推荐及常见问题解答。
2025-12-19 15:34:39
682
原创 Docker基础原理分享
docker起源与发展 vmware vs docker docker核心原理 应用如何docker化 docker周边生态
2025-12-19 09:19:17
66
原创 containerd替换docker过程分享
本文分析了containerd替换Docker的过程。背景部分指出containerd作为Docker解耦出的基础组件,具有调用链更短、资源占用更少等优势,但缺少Docker的网络控制等高级功能。文章对比了两者接口命令差异,并提供了使用GPU和查询容器进程的案例代码。在Kubernetes环境下,containerd通过更简洁的架构成为推荐选择,但需注意功能差异和接口变化。案例代码展示了从Docker API迁移到containerd gRPC接口的具体实现方式。
2025-12-18 17:26:02
1450
原创 JDK升级指南
EMT4J是一款简化Java版本迁移的工具,支持JDK 8/11/17/21之间的LTS版本升级。该工具通过静态检查项目类文件和依赖项,或作为Java Agent进行运行时检查,生成HTML/TEXT/JSON格式的兼容性问题报告。报告按问题严重性分为P1(必须修复)、P2(建议修复)、P3(可暂缓)和P4(提示信息)四个等级。使用时可配置Maven插件(版本0.8.0),指定源版本和目标版本后执行检查命令。对于JDK 21支持和自动修复功能需手动安装0.9版本。文中还提供了Hutool工具类升级案例和Ma
2025-12-18 09:58:01
619
原创 日志收集方案
Filebeat-Logstash-Rabbitmq原生支持复杂采样/限流/过滤等处理,但性能欠缺,FluentBit-Kafka从日志采集到消息推送性能较高,且原生高度支持docker容器日志,缺点是业务处理复杂度不够。容器化日志(适用于stdout/stderr)单行最大长度是16k,即超过最大长度,日志会自动换行,仅仅按大小/文件数,按时间需结合logrotate。非容器化日志即python组件/go组件/java组件业务日志,可自由进行日志轮转,支持按时间、大小、历史、总容量等。
2025-12-15 21:02:51
946
原创 Nginx NIO对比Java NIO
Nginx NIO采用多进程+epoll事件驱动模型,通过Worker进程处理请求,支持高并发连接(百万级),资源占用低且CPU利用率高,适合反向代理和静态资源服务。Java NIO基于多线程+Selector机制,通过通道和缓冲区实现高效I/O,吞吐量优秀但受JVM限制(GC、内存占用)。性能对比:Nginx在并发连接数、资源占用和延迟方面表现更优,而Java NIO(配合Netty)在灵活性上更强,但需应对JVM开销。两者核心目标都是提升连接/线程池利用率。
2025-12-14 00:44:33
358
原创 消息队列选型
本文介绍了消息队列的核心概念和两种主流技术选型。消息队列包含生产者、Broker和消费者三个要素,支持点对点和发布/订阅两种模式,适用于流量削峰等场景。Kafka基于主题和分区设计,具有高吞吐量和消息持久化优势,适合大数据处理;RabbitMQ通过交换器实现复杂路由,支持死信队列重试机制,适合高可靠性场景。两者各有优劣,技术选型需根据具体业务需求权衡取舍。
2025-12-09 13:01:21
677
原创 主流智能体自主规划方案
摘要:大模型自主规划能力指其在无人工干预下完成复杂任务的能力,主要技术方案包括PlanAndExecute(预先规划后执行)、ReAct(实时推理行动)和多智能体协同三种模式。PlanAndExecute适合流程明确的任务,ReAct适用于动态探索性任务,多智能体系统则擅长高风险场景。评估工具AgentBench覆盖8个测试环境,显示强化学习训练的智能体表现最优。WebShop测试集验证了智能体在电商场景处理组合指令、噪声文本等挑战的能力。多智能体系统失败原因主要为设计缺陷、协作不佳和验收机制缺失。
2025-12-05 16:11:11
27
原创 非功能性需求之系统高可用方案
系统高可用性是指系统持续稳定运行的能力。典型问题包括硬件故障、网络中断、流量过载等。核心设计原则包含冗余部署、故障自动转移、负载均衡和快速恢复机制,通过多节点备份、心跳检测等技术实现系统持续可用。
2025-10-30 18:00:22
28
原创 基于SpringCloud生态快速开发分布式应用
本文介绍了SpringCloud生态及其核心功能实现。首先概述了SpringCloud作为分布式系统开发框架的基础定义和主要组件,包括Gateway网关、Sleuth链路追踪等。重点通过案例分享了网关五大功能实现:1)动态加载路由规则;2)基于令牌桶算法的限流控制;3)支持Header和Weight的灰度发布;4)基于OpenTracing的统一链路追踪;5)集成Nacos实现服务注册发现。每个功能均包含具体实现方案(如数据库存储配置、算法选择)和应用示例,并附有常见问题处理建议。最后提供了相关技术文档参考
2025-10-14 17:50:36
92
原创 基于vscode连接服务器实现远程开发
本文介绍了基于VSCode的远程开发环境配置方法。首先阐述了远程开发的概念及其适用于本地资源不足场景的优势,并列出了Java(1.8+Maven3.5.2)和Golang(1.24.5)等开发环境的版本要求。文章重点以Java项目为例,详细说明了从安装远程开发插件、语言支持插件到建立SSH连接的完整流程,同时提供了项目目录创建、依赖管理和settings.json配置文件示例。还包含了Golang项目的gomod初始化步骤,为开发者提供了一套完整的远程开发解决方案。
2025-08-05 22:16:57
1327
原创 基于coze studio开源框架二次定制开发教程
CozeStudio是一站式AIAgent开发工具,支持大模型接入、智能体编排、工作流开发等功能。采用Golang+React技术栈,基于微服务架构设计。项目包含后端API、领域逻辑、前端应用等模块,支持自定义任务流节点开发。开发流程涵盖前后端节点定义、实现逻辑编写等步骤,提供完整的开发规范和参考文档。相比商业版,开源版本在功能上有所精简,但仍保留核心开发能力。
2025-08-01 21:59:07
582
原创 基于智能体a2a协议的客户端和服务端快速开发
A2A协议(Agent-to-Agent Protocol)是由Google发起并获得50多家顶级技术合作伙伴支持的开源智能体通信协议。该协议旨在成为智能体互联网时代的HTTP,为数十亿智能体构建开放、安全、高效的协作网络。
2025-07-22 18:53:28
92
原创 基于大模型mcp协议的客户端和服务端快速开发
本文介绍了MCP协议及其实现方式。MCP是一种开放协议,用于标准化应用程序向LLM提供上下文的方式。文章详细说明了MCP协议的基础定义、交互流程、内容规范以及三种传输类型(Stdio、StreamableHttp、SSE),详细展示了Python(FastMCP)和Java(SpringAI)的服务端与客户端实现示例核心功能代码。
2025-07-21 18:28:39
164
原创 基于llama-factory+ollama+vllm加速大模型训推生产
本文介绍了三大开源大模型工具的使用方法:Llama-Factory(一站式训练推理工具)、Ollama(专注推理)和VLLM(高效推理框架)。主要内容包括:1) Llama-Factory的完整工作流程(训练、评估、推理、模型合并),以Qwen2.5-7B模型为例展示配置细节;2) Ollama的模型转换和推理方法,重点说明Modelfile配置;3) VLLM的离线/在线推理实现。文中提供了详细的参数说明、代码示例和API测试脚本,涵盖工具的基础镜像构建、数据集处理、评估指标解读等关键技术要点,为开发者提
2025-06-30 16:59:45
137
原创 基于大模型开发规划型智能体全流程
基于大模型和Prompt实现智能体自动规划能力,基于技能库实现智能体自动调用第三方能力,包括知识问答能力、低代码能力、第三方信源能力等
2025-05-29 08:05:40
101
原创 基于APISIX实现API网关案例分享
Apache APISIX 是一个动态、实时、高性能的云原生 API 网关。它构建于 NGINX + ngx_lua 的技术基础之上,充分利用了 LuaJIT 所提供的强大性能
2024-09-10 12:49:33
1627
原创 mysql优化案例分享
mysql5.5.8版本开始后。InnoDB引擎就是默认存储引擎,本文介绍知识点也都是围绕该引擎展开。知识点1聚集存储InnoDB引擎采用聚集存储,即每张表的存储都是主键的顺序进行存放,也就是每行存储的物理顺序和主键顺序相同,如果未指定主键,引擎会为每张表生成一个6字节的rowid作为主键。相对于非聚集存储,聚集存储会同时存储索引和数据。知识点2 B+树索引。
2024-09-02 10:54:46
1820
原创 基于huggingface peft进行qwen1.5-7b-chat训练/推理/服务发布
加速库attn_implementation="flash_attention_2"我是一个语言模型,我叫小飞同学,可以为您做很多事情。请问您有什么问题需要我帮助吗?我是一个语言模型,我叫小飞同学,可以为您做很多事情。请问您有什么问题需要我帮助吗?我是一个语言模型,我叫小飞同学,可以为您做很多事情。我是一个语言模型,我叫小飞同学,可以为您做很多事情。我是一个语言模型,我叫小飞同学,可以为您做很多事情。现在你要扮演人工智能智能客服助手。现在你要扮演人工智能智能客服助手。现在你要扮演人工智能智能客服助手。
2024-08-25 12:57:12
624
原创 日常开发规范
后端技术栈为springboot+mybatis,整体倡导除logback“零”xml配置,全注解进行使用,集成分页组件和swagger-ui,具体可参考后端代码模板,git地址: https://gitee.com/zwxu/backend-template。注:每层都应该模块化,遵循单一职责原则,并按模块命名,除controller层外,都需要遵循开放闭合原则,面向接口编程;当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。
2024-08-23 11:37:01
987
原创 wireshark使用介绍及案例分享
在网络中,由于不同厂商,甚至同一厂商不同型号的设备,对MTU的定义和MTU分片机制不尽相同,常出现MTU引起的网络问题,常表现为游戏卡、部分网站或链接打不开,Email无法发送附件,部分网页或对话框无法打开等。此外,OSPF、IS-IS、L2VPN、VPLS等协议邻居关系无法建立,也可能是链路两端MTU值不一致导致。步骤一 打开腾讯视频,通过wireshark的文件=》导出对象=》http对象,获取广告对应的域名地址。支持的协议有ip、arp、rarp、tcp、udp、icmp、ether,默认是全部。
2024-08-12 19:37:25
1277
1
原创 大模型时代--聊聊神经网络发展史
如果一个计算机程序针对某类任务T可以用性能P衡量,并且能通过经验E来自我完善,则计算机可以在经验E中学习任务T,这就是机器学习方法。1.2单层感知机一般仅包含输入层、输出层,无法解决异或问题即非线性问题。引入隐藏层即多层感知机,通过多层反向传播更新权重,正向计算更新结果方式解决异或问题。当隐藏层层数更深,便解决更复杂问题,即为DNN(深度神经网络。异或问题深度神经网络2.3CNN即在传统神经网络基础上,增加卷积处理,即不断分层提取。CNN网络结构3.2。
2024-08-12 08:17:46
429
原创 基于huggingface和langchain快速开发大模型应用
这里考虑到大模型并不擅长计算功能,所以选择agent type为CHAT_CONVERSATIONAL_REACT_DESCRIPTION ,即需要通过prompt干预,让大模型针对计算场景,选择外挂工具,别试图自己计算。这里的微调训练,只要有合适的数据集,可以应用于任何NLP任务,例如,文本分类、命名实体识别,翻译,聊天对话等,以下案例为NLP文本分类案例。agent_template = """当提供数学问题时,无论多么简单,请参考它可靠的工具,绝对不会试图自己回答数学问题\n\n"""
2024-08-09 17:21:20
306
原创 腾讯开源vcuda技术调研分享
GPUManager支持共享和独占两种模式,当负载里tencent.com/vcuda-core request 值在0~100情况下,采用共享模式调度,优先将碎片资源集中到一张卡上,当负载里的tencent.com/vcuda-core request为100的倍数时,采用独占模式调度,gpu-manager-daemonset会根据GPU拓扑结构生成GPU卡的拓扑树,选择最优的结构(距离最短的叶子节点)进行调度分配。显存资源是以256MiB为最小的一个单位的分配显存。正常训练完成,训练时间21分钟。
2024-08-08 08:26:29
1264
原创 骰子游戏的UML分析
注:这对系统模块化设计尤为重要,例如player模块负责play和roll,die模块负责骰子面值管理,diceGame负责游戏输赢管理。Sign:签名,一般由 (AppID + AppKey + Nonce + TimeStamp)通过加密算法生成。(2)调用API时,带上AppID,Nonce,TimeStamp和Sign等信息。Nonce:随机字符串,是调用者随机生成的值,为了增加签名的多变性和防止重复请求。TimeStamp:时间戳,调用请求时间,用来生成签名和验证请求的时效。
2024-08-08 08:10:46
719
原创 基于huggingface和langchain快速开发大模型应用
的模型仓库已经共享了超过60000个模型,数据集仓库已经共享了超过8000个数据集,基于开源共享的精神,这些资源的使用都是完全免费的。HuggingFace代码库也在快速更新中,HuggingFace开始时以自然语言处理任务为重点,所以HuggingFace大多数的模型和数据集也是自然语言处理方向的,但图像和语音的功能模型正在快速更新中,相信未来逐渐会把图像和语音的功能完善并标准化,如同自然语言处理一样。print("\033[32m 回答:{}\033[0m".format(response))
2024-08-05 10:46:18
1166
原创 Docker网络模式剖析
注:命名空间是Linux内核提供的一种进程隔离技术,用于隔离进程的运行环境,包括文件系统挂载点、进程ID、网络接口、UTS名称等。●Bridge:默认为该模式,此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及iptables nat 表配置与宿主机通信。●Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。●Host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
2024-08-02 08:02:01
636
原创 基于raid10的Fastdfs HA搭建
成功标识为如下二进制文件编译成功、/usr/lib64/libfdfsclient.so编译成功以及/etc/fdfs生成client.conf.sample、storage.conf.sample、storage_ids.conf.sample、tracker.conf.sample。./configure --add-module=/data/opt/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module-1.22/src # 追加之前编译的模块。
2024-08-01 07:10:15
791
原创 基于vue-onlyoffice实现企业office web在线应用
英文名称中文说明AddComment添加批注AddElement添加文档元素(注元素常见类型获取所有段落获取所有表格GetElement获取文档元素获取批注获取页数GetRange根据字坐标获取对应文档部分Search根据文字内容获取对应文档部分英文名称中文说明AddText添加段落文本AddElement添加段落要素添加分页符GetElement获取段落元素GetText获取段落文本GetRange根据字坐标获取对应段落部分Search。
2024-07-29 10:04:01
1729
原创 聊聊关于PDF的企业应用技术
这种类型的文件可以包含各种组件,例如图像、文本和链接,这些组件都是可以被选中、搜索和易于编辑的。表格:根据版面分析的表格结构,即单元格属性row、col、rowspan、colspan,text通过pdfbox的按区域获取方法实现,最终实现poi word的表格插入。段落:根据版面分析的段落位置和pdf每一页图片宽高,计算段落内容位于左、中、右,最终实现poi word的段落插入。即通过扫描仪、手机的扫描王APP从实物上扫描创建的。也就是说,出现在这些图像中的元素,如文本或链接是不能被选择或搜索的。
2024-07-27 18:04:34
574
原创 基于chrome插件的企业应用
利用content-scripts渲染数据爬取页面,然后通过background.js传递系统cookie,最后调用后端爬虫接口即可完成插件实现。可以是多个,也可以对注入条件进行设置,也就是满足什么条件,才会将这些js文件注入到当前web页面中。利用content-scripts渲染网页翻译页面,然后通过dom元素获取网页内容,最后调用翻译接口即可完成插件实现。例如不能访问chrome.webRequest、chrome.tabs、chrome.windows。1、chrome插件组件介绍。
2024-07-19 21:07:30
892
原创 基于秒杀系统的企业开发设计思考
需求描述为实现某商品秒杀活动,结果为商品库存为0,订单数量和商品原有库存数量,即保障系统数据一致性同时,保障系统稳定性。利用数据库和redis完成秒杀系统,其中查询/扣减库存,结合分布式锁和redis原子性递减操作实现。总结:需求>性能>范式,为了性能/需求,该冗余还是得冗余;2、缓存击穿即某个热点数据失效,导致数据库压力剧增,即缓存不存在,数据库存在。3、缓存雪崩即所有缓存数据同时失效,即缓存不存在,数据库可能存在/可能不存在。1、缓存穿透即查询一个不存在的数据,即缓存和数据库都不存在。
2024-07-18 22:53:27
933
原创 支持前端路由权限和后端接口权限的企业管理系统模版
1、前端通过vue-router控制路由、菜单、按钮和权限的基础数据和展示控制,后端提供角色和路由、菜单、按钮的配置数据,然后过滤前端维护的基础数据从而实现路由、菜单、按钮的权限控制。1、由于是前后端分离项目,所以应避免跨域问题,否则前端调用后端接口,无法携带cookie实现接口权限控制功能。2、后端通过shiro一方面实现登陆控制,另一方面基于配置数据基础上实现接口权限控制。3、防止垂直越权 即A权限高于B,B不能越权操作A的用户权限。2、防止水平越权 即同权限的A和B,A不能操作B的个人信息。
2024-07-16 17:01:46
427
java解析json依赖包
2015-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅