程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
案例(第2页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
海狸IM 2.1 私有化部署:中间件、Go 微服务与 Nginx 的启动顺序
案例
海狸IM 2.1 私有化部署:中间件、Go 微服务与 Nginx 的启动顺序
2026-10-01 20:01:32
海狸IM 后端是 Go + go-zero 的 17 模块微服务,私有化部署的坑集中在启动顺序和 Nginx 收口:先中间件、再初始化库、改 config.txt、按 RPC→API→Admin 起服务,Nginx 漏掉三个 WebSocket 头就会“能登录、收不到消息”。含 LiveKit UDP 端口段、RocketMQ topic 与踩坑清单。
Go
go-zero
微服务
私有化部署
Nginx
Docker
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
案例
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
2026-09-30 21:01:43
PayPal 将于 2027-01 停用 IPN/Website Payments Standard,迁移到 REST Webhooks 时四层同时变化,每层都有对 PayPal 返回 200 的静默丢单模式:form→JSON、mc_gross→resource.amount.value、Completed→COMPLETED 且退款独立事件、_notify-validate 回环→离线 RSA-SHA256,附对照表与自检命令。
支付
PayPal
Webhook
ConvertX:用 Bun + Elysia 写的自托管文件转换器,1000+ 格式跑在自己机器上
案例
ConvertX:用 Bun + Elysia 写的自托管文件转换器,1000+ 格式跑在自己机器上
2026-09-29 21:05:23
ConvertX 是一个自托管的在线文件转换工具,用 TypeScript + Bun + Elysia 写,宣称支持 1000+ 种格式,内置多种转换引擎,Docker 部署即用。它的意义在于文档、图片、音视频的格式互转都在自己的机器上完成,不经第三方在线转换站点。本文给出技术栈、部署方式与落地前要确认的依赖问题(ffmpeg、ImageMagick 等)。
开源工具
自托管
文件转换
Docker
TypeScript
Bun
Certimate:16MB 内存的自托管 SSL 证书自动化,从 ACME 申请到推送部署
案例
Certimate:16MB 内存的自托管 SSL 证书自动化,从 ACME 申请到推送部署
2026-09-29 21:04:17
Certimate 是一个 Go 写的自托管 SSL 证书管理工具,把申请、部署、续期、监控串成可视化工作流:支持 DNS-01/HTTP-01 两种 ACME 验证、单域名/通配符/IP 证书、PEM/PFX/JKS 输出,集成 70+ 域名注册商 DNS API 与 Let's Encrypt/ZeroSSL。运行时内存约 16MB、无外部依赖,Docker 或二进制都能跑。适合不想把证书私钥托管给第三方的团队。
运维
SSL证书
自托管
ACME
开源工具
Go
Redis 8.4 Atomic Slot Migration:把 Slot 迁移从「逐 Key 搬迁」改成整槽复制 + 原子交接
案例
Redis 8.4 Atomic Slot Migration:把 Slot 迁移从「逐 Key 搬迁」改成整槽复制 + 原子交接
2026-09-29 21:03:00
Redis 8.4 的 Atomic Slot Migration 把 Slot 迁移从「逐 Key 搬迁、边迁边切」换成「先复制整槽、再一次性原子交接」,配套 CLUSTER MIGRATION 命令族。旧方式会长期暴露「部分 Key 已迁」的中间态,带来 ASK/TRYAGAIN 重定向、多 Key 操作不稳定、大 Key 尾延迟等问题。本文给出七步流程、大 Key 分段传输与旧数据清理回退条件,并对照 Valkey 9.0 的同类实现。
Redis
运维
RedisCluster
槽迁移
数据库
Valkey
制造
Docker 里把 Redis 6.2 升到 8.8:dbsize 变 0、数据像丢了、启动直接 FATAL
案例
Docker 里把 Redis 6.2 升到 8.8:dbsize 变 0、数据像丢了、启动直接 FATAL
2026-09-29 21:03:00
Docker 下把 Redis 从 6.2-alpine 升到 8.8-alpine,实际会撞上三类问题:匿名 volume 让旧数据不跟随、6.2 的旧配置项让 8.x 启动直接 FATAL CONFIG FILE ERROR、以及最坑的一条——加了 --appendonly yes 后 Redis 只读 AOF 不读 dump.rdb,dbsize 直接返回 0。本文记录两种部署场景的完整步骤、BGSAVE/docker cp/CONFIG SET appendonly yes 的正确顺序,以及 RDB 单向兼容的回滚注意点。
Redis
Docker
运维
持久化
升级
AOF
微信支付 APIv3 平台证书切公钥:回调灰度微信说了算,应答灰度得自己盯满 7 天
案例
微信支付 APIv3 平台证书切公钥:回调灰度微信说了算,应答灰度得自己盯满 7 天
2026-09-29 21:02:08
微信支付 APIv3 平台证书每 5 年要换一次,可改成无有效期的微信支付公钥。但切换有两个灰度维度:回调比例由微信按 0.1% 到 100% 自动放量,应答比例要商户靠 Wechatpay-Serial 头自己推,且全量后还要等 7 天才显示 100%。本文给出切换步骤、公钥 ID 前缀、wechatpay-java 自动下载平台证书导致比例卡住的坑,以及完成切换的前置条件。
微信支付
APIv3
签名验签
支付对接
平台证书
微信支付公钥
vite build 丢 CSS、dev 正常:rolldown #8804 的 side-effect 去重打破了两层 manifest 假设
案例
vite build 丢 CSS、dev 正常:rolldown #8804 的 side-effect 去重打破了两层 manifest 假设
2026-09-28 21:03:49
一个真实构建故障排查:vite 8.0.2+/rolldown rc11+ 后 vite build 产物丢失 CSS(dev 正常),根因是 side-effect import 在 tree-shaking 链里被去重到更深层级,打破了依赖 .vite/manifest.json 的 vite_ruby“副作用在前两层”的假设。附逐版本 override 定位法与两条修复路径。
Vite
Rolldown
前端构建
排障
tree-shaking
微信支付 APIv3 2026 文档更新:合单支付字段语义与退款卡尾号消失的对接影响
案例
微信支付 APIv3 2026 文档更新:合单支付字段语义与退款卡尾号消失的对接影响
2026-09-28 21:02:47
微信支付 2026 年 APIv3 文档更新对服务端的影响:合单支付 sub_orders 语义由“子单”改“商品单”、description 长度 128→127;退款 user_received_account 不再返回卡尾号,按尾号对账与正则解析会失效,附各接口清单与回调解析注意。
微信支付
支付接口
对接
回调
对账
R1
报表
H5
客服
中文
支付宝服务端 SDK 迁移对照:从 certificateExecute / rsaCertCheckV1 到 Easy SDK
案例
支付宝服务端 SDK 迁移对照:从 certificateExecute / rsaCertCheckV1 到 Easy SDK
2026-09-27 21:02:49
支付宝服务端 SDK 文档给出通用版→Easy SDK 的方法替换对照:certificateExecute/execute→Factory.Util.Generic.execute,异步通知验签 rsaCertCheckV1/rsaCheckV1→Factory.Payment.Common.verifyNotify,以及 V3 OpenAPI 的接入建议。本文整理对照表与近期接口层变更。
支付宝
支付
Easy
SDK
OpenAPI
V3
接口对接
Ubuntu unattended-upgrades 把 nginx 升到 1.24.0-2ubuntu7.10,worker 全线 SIGSEGV,一条 apt upgrade 修好
案例
Ubuntu unattended-upgrades 把 nginx 升到 1.24.0-2ubuntu7.10,worker 全线 SIGSEGV,一条 apt upgrade 修好
2026-09-26 21:07:06
一次例行重启后两个站点间歇不可达、Ghost 后台白屏,根因是 Ubuntu unattended-upgrades 自动装的 nginx 1.24.0-2ubuntu7.10 回归,worker 每个请求 SIGSEGV。本文复盘 systemd 显示 active 但 worker 循环崩溃的排查,以及一条 apt upgrade 修好的过程。
运维
nginx
Ubuntu
故障复盘
包管理
画布
rootless Docker 的 slirp4netns 被 OOM 杀掉,6 小时后 json-file 日志缓冲把 daemon 冻死
案例
rootless Docker 的 slirp4netns 被 OOM 杀掉,6 小时后 json-file 日志缓冲把 daemon 冻死
2026-09-26 21:06:20
rootless Docker 下 slirp4netns 泄漏到 3.54GB 被 OOM 杀掉,所有容器失去出站网络;随后 json-file 日志驱动的 blocking 缓冲涨到 6.25GB,logging 进程被杀导致 Docker daemon 死锁。本文复盘三幕过程,并给出日志 non-blocking 配置与 pasta 迁移方案。
运维
Docker
容器
故障复盘
日志
冗余
Kubernetes ingress 六小时 502:default_server 挂在一个被健康检查清空的 upstream 上
案例
Kubernetes ingress 六小时 502:default_server 挂在一个被健康检查清空的 upstream 上
2026-09-26 21:06:20
一次 Kubernetes ingress 六小时 502:后端 Deployment 全挂,nginx 健康检查把 upstream 池清空,而该池是 80/443 的 default_server,所有未匹配域名一起 502。本文复盘错误日志、fall=5 清池过程,以及超时、max_fails、DNS upstream、keepalive 的一组修复。
运维
nginx
Kubernetes
故障复盘
高可用
MySQL 慢查询日志排错:订单查询 Query_time 从 15.2s 到 0.02s
案例
MySQL 慢查询日志排错:订单查询 Query_time 从 15.2s 到 0.02s
2026-09-25 21:07:25
一次电商订单查询接口超时的排错记录:用慢查询日志定位到 Rows_examined 50 万、Rows_sent 仅 100 的全表扫描 SQL,建联合索引 (category_id,status,sales) 并去掉 SELECT * 后 Query_time 从 15.2s 降到 0.02s。文中给出慢查询日志相关参数的动态开启语句与 pt-query-digest 用法。
MySQL
慢查询
索引
性能优化
运维
案例
MySQL 8.4/9.7 备份恢复:物理备份别指望跨大版本,工具版本要逐版本对齐
案例
MySQL 8.4/9.7 备份恢复:物理备份别指望跨大版本,工具版本要逐版本对齐
2026-09-25 21:05:23
MySQL 8.4/9.7 备份恢复的兼容性坑:物理备份不能跨大版本恢复,mysqlbackup 与 XtraBackup 版本必须与实例大版本逐版本对齐,备份账号要用 caching_sha2_password 且需 BACKUP_ADMIN,apply-log 准备阶段不能跳。文末给出可复制的落地检查项与每月恢复演练步骤。
MySQL
备份恢复
XtraBackup
运维
PITR
nginx 因 1 秒 DNS 空窗拒绝启动:整机站点宕机 3 小时复盘
案例
nginx 因 1 秒 DNS 空窗拒绝启动:整机站点宕机 3 小时复盘
2026-09-25 21:01:41
一次 unattended-upgrades 升级 systemd 触发 needrestart 批量重启,BIND 与 nginx 竞速差 1 秒:nginx 解析不到上游域名直接 emerg 拒绝启动,全站宕机 3 小时。文中给出 journalctl 定位时间线、After=nss-lookup.target 为何失效、systemd Restart= 自愈配置,以及 proxy_pass 变量化后前缀替换失效的坑与 rewrite break 正解。
nginx
systemd
故障排查
DNS
运维
反代
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
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
下一页
共 7 页
到第
页
确定