凌晨三点告警,CPU 98%,重启能好但两小时后复发。这篇把当时敲的每一条命令按顺序排出来——怎么用 top -Hp 锁到线程、怎么把线程号换算成 jstack 里的 nid、什么时候该上 async-profiler 而不是继续看堆栈,以及四类高频真凶的特征指纹。
一份不跳步的部署手册。容器编排、存储与元数据初始化、集群参数、接入方 SDK 配置、以及上线前必须验证的七件事——包括那些官方文档里写了但很容易读漏的默认值。
角色够用,直到资源类型从"只有设备"扩到组织、配置、人员。这篇讲清楚功能准入、数据范围、字段可见性为什么必须拆成三条正交的轴,以及怎么用一条并行链路把老实现平滑换掉。
游标分页、延迟关联、覆盖索引、预计算页表——为什么"换成 id > ?"在带排序和过滤条件时会悄悄给出错误结果。
这个博客的写法
一篇文章合格的标准是:三个月后的我照着做,不用再查任何东西
所以每篇都带完整命令、真实输出片段、以及"这一步失败了怎么办"
Java · Spring Cloud · 多租户
做 IoT 能源平台的后端,日常和设备、站点、组织这几种资源打交道。服务不算多,但每一个都要面对"谁能看到哪些行"。
当前主线
把散在六七处的硬编码判断收敛成一套模型:功能准入、数据范围、字段可见性三条轴,加一条可灰度、可回退的并行链路。
被迫点亮的技能
CPU、GC、慢 SQL、线程池。工具链固定就那几样,难的从来不是工具,是在告警响的那五分钟里按对顺序。