工具
为观察、离线存储检查、负载验证和有界诊断选择正确的仓库工具。
WuKongIM 的工具按目标和风险分开:wkcli 面向在线集群 API,wkdb 面向单节点离线数据,wkbench 面向隔离的真实流量测试,诊断能力用于回答一个有界问题。工具输出是证据,不是绕过 Manager 审批或集群安全门槛的权限。
先确认目标边界
每个部署都是集群,包括单节点集群;物理哈希槽固定为 256。节点本地快照、数据库文件或 Top 结果不能自动代表整个集群。
选择工具
| 目标 | 使用 | 读取或写入 | 不适合 |
|---|---|---|---|
| 查看在线节点、Top、动态节点状态 | wkcli | 多数检查只读;节点生命周期子命令会调用受控 Manager 写 API | 直接编辑 Controller/Slot 状态或管理进程 |
| 查询、导出或比较节点本地存储 | wkdb | 离线只读为主;只有 import 写目标存储 | 在线集群查询、全局快照或自动迁移 |
| 验证协议流量、容量假设和回归门槛 | wkbench | 产生真实连接、频道、用户和消息 | 无界生产压测或通用容量数字 |
| 关联日志、指标、Top、诊断事件与 pprof | 诊断能力 | 默认只读;pprof 是有界的主动观察 | 自动修复、任意命令或任意查询 |
通用工作流
- 确认身份:记录仓库版本、二进制摘要、集群 ID、节点 ID 和目标地址。
- 选择最小能力:从只读、低成本、短时间的命令开始;不要一开始就抓 profile 或产生负载。
- 隔离权限:使用最小权限凭据和受控网络;Manager、Benchmark、Debug 与 Operations MCP 使用各自的信任边界。
- 设置预算:限制目标、并发、持续时间、返回行数和制品目录,并写明停止条件。
- 保存上下文:保留命令、时间范围、退出码和脱敏输出;不要只复制最终摘要。
- 清理临时能力:关闭 Debug、Benchmark、临时凭据、模拟器和额外采样,确认资源回到基线。
从源码构建
在已审核的仓库版本中构建需要的二进制:
go build -o ./bin/wkcli ./cmd/wkcli
go build -o ./bin/wkdb ./cmd/wkdb
go build -o ./bin/wkbench ./cmd/wkbench工具与目标服务端应来自已记录、可追溯的版本。不要把开发分支工具直接用于生产,也不要假设未知版本之间的离线格式、Manager API 或 Benchmark 协议兼容。
失败处理
- 认证、连接、状态新鲜度或目标身份无法确认时停止,不要更换到更高权限凭据继续尝试。
- 只读输出冲突时保存双方证据,再检查时间、节点、版本和数据来源。
- 写命令失败后先读取权威任务状态;不要在不知道前一次是否生效时重复提交。
- 负载、profile 或扫描达到预算时立即停止,即使尚未得到预期结论。
按现象选择第一项检查,见故障排查。