程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
案例
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
pprof 显示 98,237 个 goroutine 卡在 http.Client.Get:零值 Timeout 与没传 r.Context()
案例
pprof 显示 98,237 个 goroutine 卡在 http.Client.Get:零值 Timeout 与没传 r.Context()
2026-09-23 21:02:57
一次 goroutine dump 里 95% 的协程全阻塞在 net/http.(*Client).Get。根因是 http.Client 零值 Timeout 等于永不超时,加上请求没绑 context 又传了 context.Background()。文章给出泄漏链条、client.Timeout 与 ctx 超时的分工、goleak 兜底与 pprof 排查命令。
Go
并发
pprof
排障
Nginx 502/504 排障:先按 error.log 关键字分流,别急着重启
案例
Nginx 502/504 排障:先按 error.log 关键字分流,别急着重启
2026-09-23 21:02:57
502 和 504 是两种病。本文用 error.log 关键字(Connection refused、upstream timed out 在 connecting 还是 reading response header、no live upstreams、reset by peer)做分流,给出分层判断表、proxy_connect/send/read_timeout 的分工、upstream 健康检查与 HTTPS 两条链路的排查,并附三个真实案例。
Nginx
运维
排障
反向代理
支付宝小程序 my.tradePay 排障笔记:9000 不等于支付成功
案例
支付宝小程序 my.tradePay 排障笔记:9000 不等于支付成功
2026-09-23 21:02:57
my.tradePay 同步返回 resultCode 9000 只代表调用被受理,不能作为发货依据;要以 notify_url 的 trade_status=TRADE_SUCCESS 加 alipay.trade.query 查询结果为准。文中列出 9000/8000/4000/6001 的处置,以及 tradeNO 用 trade_no、buyer_id 必须与唤起账号一致的入参坑。
支付宝
接口对接
小程序
支付
容器被 OOM 杀掉(exit 137):从内核日志到 cgroup 内存文件的排查链
案例
容器被 OOM 杀掉(exit 137):从内核日志到 cgroup 内存文件的排查链
2026-09-23 21:02:57
容器 Exited (137)、日志只剩一行 Killed,先查 dmesg -T 的 oom-kill 记录,再读 cgroup 的 memory.stat。别把含 Page Cache 的 usage_in_bytes 当真实占用,要看 rss;cgroup v2 看 memory.current/max 与 memory.events 的 oom_kill 计数。附 JVM -XX:MaxRAMPercentage 与 jcmd 实测。
Docker
容器
OOM
运维
微信支付 APIv3 报 401 / SIGN_ERROR:按签名链路逐项排查
案例
微信支付 APIv3 报 401 / SIGN_ERROR:按签名链路逐项排查
2026-09-23 21:02:57
接口报 401 或「错误的签名,验签失败」,方向就是签名没算对。按密钥文件→商户号/证书序列号→nonce_str/timestamp→签名串格式→代码转义逐项核对,含 openssl 查序列号与 mchid 的命令、签名串 5 行换行与 URL 不带域名的规则,并附 APIv3 错误码说明。
微信支付
接口对接
签名
排障
自托管 OpenStatus:8 个服务 + libSQL 依赖 + db-migrate 一次性迁移
案例
自托管 OpenStatus:8 个服务 + libSQL 依赖 + db-migrate 一次性迁移
2026-09-23 20:01:47
OpenStatus 是开源状态页+可用性监控平台。本文整理用 Coolify 自托管它的完整链路:6 个 GHCR 预构建镜像的端口与环境变量、libSQL 与可选 TinyBird 依赖、部署顺序与内置健康检查,以及 coolify-deployment.yaml 里一次性 db-migrate 迁移服务如何避免手动迁移。
OpenStatus
Coolify
自托管
监控
跨洋主从复制延迟 300 秒:sysctl 把接收窗口焊死在 42KB
案例
跨洋主从复制延迟 300 秒:sysctl 把接收窗口焊死在 42KB
2026-09-20 20:01:10
MySQL 跨洋主从复制平时延迟为 0,一跑归档批处理就飙到 300 秒。根因是从国内同城机房抄来的 sysctl 把 net.core.rmem_max 焊死在 87380,152ms RTT 下接收窗口只有 42KB,吞吐被压到 279KB/s。本文用 ss -tinm 逐层定位,按 BDP 重算内核参数,并给 binlog 开 zstd 压缩。
MySQL
主从复制
TCP调优
运维排查
sysctl
binlog
50ms 模拟 DB 延迟下:PHP+Swoole 1912 RPS,Go 394 RPS,P99 却低一个数量级
案例
50ms 模拟 DB 延迟下:PHP+Swoole 1912 RPS,Go 394 RPS,P99 却低一个数量级
2026-09-19 00:04:21
一份可复现的跨语言 I/O 基准:4 vCPU 机器上压 MySQL,50ms 模拟 DB 延迟下 PHP+Swoole 跑到 1912 RPS,Go/Node/Python/PHP-FPM 齐刷刷卡在 388–394。附测试环境、结果表、复现命令,以及连接池把吞吐压成"撞墙"的取舍分析。
语言对比
性能对比
PHP
Go
Python
Node.js
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
案例
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
2026-09-19 00:03:40
对比 Go 的「错误即值」与 PHP、JavaScript、Python、C# 的异常机制:显式控制流与隐式跳转的取舍,附 errors.Is/As、%w 错误链、状态封装与装饰器两种避免 if err != nil 地狱的实战模式。
语言对比
错误处理
异常机制
Go
PHP
Python
编程语言
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
案例
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
2026-09-18 21:05:18
订单服务凌晨 P99 破 5 秒、MySQL 连接被榨干,根因是新上线的历史订单导出把连接按住一分多钟,而 maxActive 与 max_connections 都设成 151、没有余量。本文复盘排查过程,给出查询超时、读写分离、异步任务队列三个方案与 maxActive 按 60%-80% 设置的取舍。
MySQL
运维
故障排查
性能优化
连接池
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
案例
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
2026-09-18 21:03:27
一份 MySQL 生产库被 98 张表结构导出文件误执行后、靠 binlog 做时间点恢复(PITR)的完整复盘:从停库取证、grep DROP TABLE 定位 end_log_pos、构造可信基线、沙箱回放与错误码分类,到外键孤儿检查、账本重建余额与字符集双重编码修复,附可复用脚本骨架。
MySQL
数据库
运维
故障排查
数据恢复
Stripe API 升级到 Dahlia:Stripe.js 删弃用方法、Payment Intent 不再指定支付方式类型
案例
Stripe API 升级到 Dahlia:Stripe.js 删弃用方法、Payment Intent 不再指定支付方式类型
2026-09-13 21:04:52
Stripe API 破坏性版本 Dahlia(2026-03-25.dahlia)升级笔记:Stripe.js 移除弃用方法并重命名 Checkout 初始化、Payment Intent/Setup Intent 不再支持指定支付方式类型;含 UPI 支付、发票小数数量等新特性,以及 Stripe-Version 头、Workbench 72 小时回滚、对象 ID 255 字符存储等对接要点。
支付
Stripe
API
接口对接
升级
微信支付 V3 切公钥模式:报「无可用的平台证书」时,先查 Wechatpay-Serial 和证书链
案例
微信支付 V3 切公钥模式:报「无可用的平台证书」时,先查 Wechatpay-Serial 和证书链
2026-09-12 21:02:58
新申请商户号接微信支付 V3 报「无可用的平台证书」的根因与迁移:平台证书模式换公钥模式。附回调验签失败要查的三点、401 签名错误排查四维度、平台证书 12 个月轮换与 Wechatpay-Serial 选证书、证书链验证及 out_trade_no 幂等清单。
微信支付
支付对接
证书
微信支付 2026 更新日志:合单支付字段改名、退款不再返回卡尾号,这些改动要动代码
案例
微信支付 2026 更新日志:合单支付字段改名、退款不再返回卡尾号,这些改动要动代码
2026-09-10 21:04:04
微信支付 2026 年更新日志里几个会让对接方动代码的改动:合单支付字段中文含义改名、sub_orders.description 长度 128→127,退款银行卡返回不再带卡尾号,sub_mchid 长度 9→32。本文按时间线整理,并给出需要检查的字段与重试分支。
微信支付
支付对接
接口
API
innodb_parallel_read_threads 实测:count(*) 18.2s→2.3s、在线 DDL 50%→18min、CHECK TABLE 45min→5min
案例
innodb_parallel_read_threads 实测:count(*) 18.2s→2.3s、在线 DDL 50%→18min、CHECK TABLE 45min→5min
2026-09-09 21:34:53
MySQL 8.4 并行扫描参数 innodb_parallel_read_threads 的三个真实线上案例:count(*) 全表、在线 DDL 加二级索引、CHECK TABLE 三类场景下如何会话级试探并固化配置,含不同表规模与介质下的线程数取舍。
MySQL
InnoDB
并行扫描
运维调优
监控叫醒前日志已停三分钟:一次 systemd「自动重启」背后的 OOM Killer
案例
监控叫醒前日志已停三分钟:一次 systemd「自动重启」背后的 OOM Killer
2026-09-08 21:02:33
一次凌晨服务「自动重启」的真实排查:先按时间线收集现场,从 systemd 日志与内核日志锁定是 OOM Killer 强杀了 Java 进程,再顺藤摸瓜到凌晨 2 点的 mysqldump 备份脚本。给出 OOMScoreAdjust 缓解与 nice/ionice 优化备份脚本的治本方法,含退出码对照与工程建议。
运维
systemd
OOM
journalctl
排查
容器 cron 9 点变 17 点:默认 UTC、DST 漂移与 K8s CronJob timeZone
案例
容器 cron 9 点变 17 点:默认 UTC、DST 漂移与 K8s CronJob timeZone
2026-09-07 00:05:40
cron 定时任务跑错点的排障:容器默认 UTC 让 0 9 表达式错 8 小时、集群多机时区不一致、DST 切换导致任务跳跑或重复执行,以及 K8s CronJob 1.27 起 timeZone 字段与 CRON_TZ、anacron 的处理边界。
cron
定时任务
时区
DST
Kubernetes
Shell 脚本全局改 IFS 未还原:带空格目录被拆成多参数,误删半台服务器静态资源
案例
Shell 脚本全局改 IFS 未还原:带空格目录被拆成多参数,误删半台服务器静态资源
2026-09-05 21:05:56
复盘一起因 Shell 脚本全局改 IFS 未还原、导致带空格目录被拆成多参数误删静态资源的线上事故。讲清 IFS 分词规则、命令前缀/备份还原两种正确写法、read 读最后一行、跨 shell(zsh/dash/bash3.2)差异,以及 set -euo pipefail、find -print0 的工程化脚本标准。
Shell
IFS
踩坑
运维
bash
OpenSSL 2026-08-25 修复 9 洞:QUIC 双重释放、CMS 越界写,按分支版本对照表升级
案例
OpenSSL 2026-08-25 修复 9 洞:QUIC 双重释放、CMS 越界写,按分支版本对照表升级
2026-09-05 21:05:16
OpenSSL 2026-08-25 修复 9 个 DoS 漏洞:QUIC 双重释放(CVE-2026-18798,畸形 INITIAL 包)、CMS 密钥解包越界写(CVE-2026-63072)等,涉及 4.0/3.6/3.5/3.4/3.0。本文给各分支修复版本号对照表,以及 nginx/curl/php 等应用升级后重启、ldd 核对加载路径的运维动作。
OpenSSL
安全公告
CVE
运维
升级
MySQL 2026-07 CPU:X Plugin 无认证远程 DoS(8.2)、Connector/Net 8.5,升级到 8.4.11 / 9.7.2
案例
MySQL 2026-07 CPU:X Plugin 无认证远程 DoS(8.2)、Connector/Net 8.5,升级到 8.4.11 / 9.7.2
2026-09-05 21:03:42
Oracle 2026年7月 MySQL CPU 涉及 X Plugin(无认证远程 DoS,CVSS 8.2,可未授权读数据子集)、Connector/Net 8.5、Group Replication 本地接管等一批漏洞。本文列受影响版本段、修复版本 8.4.11/9.7.2,以及按 X Protocol/组复制实际暴露面判断升级优先级的方法。
MySQL
安全公告
CVE
升级
运维
用Qoder实战Vue3大屏:从项目分析到Agent团队协作的完整开发流程
案例
用Qoder实战Vue3大屏:从项目分析到Agent团队协作的完整开发流程
2026-09-05 19:07:17
以一个基于 Vue3 + Konva.js 的 IoT 数据大屏可视化编辑器为实战案例,完整记录阿里 Qoder AI 编程工具的使用流程:项目分析、Better Harness 环境检查、/goal 目标驱动、/loop 动态循环监控、Agent Teams 专家团分工,以及延伸到知识库和科研场景。
Qoder
AI编程
Vue3
Agent开发
Better Harness
Runway GEN:48 案例复盘:48 小时生成 AI 短片《未知者》的幕后方法
案例
Runway GEN:48 案例复盘:48 小时生成 AI 短片《未知者》的幕后方法
2026-09-05 13:03:53
复盘 Runway GEN:48 挑战中导演盖布·迈克尔用 48 小时生成 AI 短片《未知者》的幕后方法:先定风格、角色表控一致性、分层动画、动态分镜、剪辑与声音收尾。文章补充赛制与获奖背景,并提炼五步检查清单,供 AI 影视创作者参考。
Runway
AI短片
GEN:48
Worklog:Rust/Tauri + SvelteKit 构建的本地优先 Git 同步看板工具
案例
Worklog:Rust/Tauri + SvelteKit 构建的本地优先 Git 同步看板工具
2026-09-05 07:55:29
Worklog 是 Rust/Tauri + SvelteKit 开发的本地优先桌面项目管理工具,本地 SQLite 存数据、Git 做同步,提供看板/表格/时间线多视图,面向小型团队与独立开发者。
Rust
Tauri
SvelteKit
项目管理
本地优先
Visual DB:在已有数据库外套一层可视化应用层,拖拽生成表单与报表
案例
Visual DB:在已有数据库外套一层可视化应用层,拖拽生成表单与报表
2026-09-05 07:50:48
Visual DB 是一个在已有数据库之上构建可视化应用层的平台,通过拖拽/AI 助手生成表单、报表等 CRUD 应用,支持 MySQL、PostgreSQL、Oracle、SQL Server 及多家云数据库,可 Docker 本地自托管。
低代码
Visual
DB
数据库
自托管
Docker
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
下一页
共 5 页
到第
页
确定