logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一次 MySQL Docker 容器日志爆满引发的登录超时排查

这次故障表面上是业务系统登录超时,最终定位到 MySQL Docker 容器日志异常增长。进一步排查发现,日志暴涨不是由数据迁移、general log 或 slow query log 引起的,而是 MySQL 中有一个线程长时间卡在,并持续触发 InnoDB 文件读取错误。由于KILL无法及时释放该线程,最终在完成备份后重启 MySQL 容器,异常线程被清理,数据库和业务系统恢复正常。登录超时

#java#docker#mysql
为什么 Agent 系统一定需要状态管理

摘要: Agent系统必须进行状态管理,因为它本质上是多步骤、动态决策的任务流,而非单次模型调用。状态管理解决以下核心问题:1) 记录执行进度,确保中断后可恢复;2) 追踪工具调用(成功/失败/重试),提升可观测性;3) 避免重复执行和结果混乱;4) 支持异步任务生命周期管理;5) 为推荐结果提供可解释的业务依据;6) 维护权限和安全边界。工程实践中,需通过数据库持久化任务状态(如PENDING/

#python#java#数据库
一次 MySQL Docker 容器日志爆满引发的登录超时排查

这次故障表面上是业务系统登录超时,最终定位到 MySQL Docker 容器日志异常增长。进一步排查发现,日志暴涨不是由数据迁移、general log 或 slow query log 引起的,而是 MySQL 中有一个线程长时间卡在,并持续触发 InnoDB 文件读取错误。由于KILL无法及时释放该线程,最终在完成备份后重启 MySQL 容器,异常线程被清理,数据库和业务系统恢复正常。登录超时

#java#docker#mysql
Spring 线程池异步任务治理实践

文章摘要: 本文分享了Spring线程池异步治理的实践经验,针对PDF处理、OCR识别等耗时任务场景,提出多线程池拆分方案。核心观点包括:1)按任务类型(OCR、计算、重试等)隔离线程池,避免资源竞争;2)区分@Async(方法级异步)与CompletableFuture(任务编排)的使用场景;3)特别强调PDF主/子任务需拆解到独立线程池,防止线程饥饿;4)拒绝策略需结合任务重要性选择Calle

#java#网络#前端
高并发读接口的缓存链路设计:从 Redis 到本地缓存,再到热点保护

本文探讨了高并发读接口的缓存设计优化路径。以活动资源查询场景为例,从数据库直查逐步升级为多级缓存架构:通过Redis分布式缓存减少数据库压力,增加本地缓存降低Redis访问频率,并针对缓存穿透(布谷鸟过滤器)、雪崩(TTL随机化)、击穿(互斥锁/逻辑过期)等问题设计防护机制。文章重点分析了本地缓存带来的数据一致性问题及解决方案,比较了互斥锁与逻辑过期的适用场景,最终形成包含参数校验、过滤器、本地缓

#java#mysql#redis
秒杀库存扣减与异步下单:Redis Lua、消息队列和幂等消费的工程取舍

秒杀系统设计中,库存扣减与下单分离的核心逻辑如下: 分层抗压设计 Redis层:通过Lua脚本实现原子化预扣减库存(校验+扣减+防重) 消息队列:承接成功请求实现异步削峰 数据库层:最终一致性落库 关键优势 避免数据库直接承受瞬时峰值(Redis拦截90%无效请求) 异步处理保证系统吞吐量 双重库存校验(Redis预扣+DB最终扣减)确保数据准确 容错机制 Redis预扣失败立即终止流程 MQ发送

#java#开发语言
从“日志各打各的”到“链路一眼定位”:Java 端与 Agent 端如何统一错误日志和可观测性

errorCode 错误码,表示具体错误类型errorStage 错误阶段,表示失败发生在哪一层retryable 是否可重试message 面向开发者的错误描述details 扩展信息这样 Java 端就不需要再解析字符串,而是可以直接根据字段处理。说明是验证码失败,可以记录为外部站点挑战失败说明结果校验失败,不应该直接入库说明请求参数本身不合法,通常不应该重试说明可以进入重试队列或等待下次调度

#python#开发语言#java +1
动手学深度学习pytorch版:can‘t convert np.ndarray of type numpy.object_. The only supported types are: float6

在2.2.3节转换张量格式中一段代码运行报错“can't convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, int32, int16, int8, uint8, and bool.”所以需要先

文章图片
#深度学习#pytorch#numpy
动手学深度学习pytorch版:处理缺失值报错:can only concatenate str (not “int“) to str解决方法

这段代码的问题在于,inputs.mean()函数试图将一个字符串()直接相加或连接,但这两个类型之间不能直接进行这样的操作。我们只对第一列的数字做缺失值处理,因为数字可以取平均值。

文章图片
#深度学习#pytorch#人工智能
动手学深度学习pytorch版:can‘t convert np.ndarray of type numpy.object_. The only supported types are: float6

在2.2.3节转换张量格式中一段代码运行报错“can't convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, int32, int16, int8, uint8, and bool.”所以需要先

文章图片
#深度学习#pytorch#numpy
    共 11 条
  • 1
  • 2
  • 请选择