技术部的茶水间有一块旧黑板,原本是用来写咖啡余量或者提醒谁忘了洗杯子的。可上个月开始,上面多了一棵歪歪扭扭的‘树’——用彩色粉笔画的,根节点是‘用户中心API’,分支上写着‘支付回调延迟’、‘登录超时频发’、‘日志未上报’……底下还贴了几个便利贴:‘等运维给权限’、‘张工周五排查’、‘已降级处理’。
这棵树,是我们组自发搞出来的‘接口健康状态图谱’,但它背后藏着一个没人愿意承认的事实:我们有37个微服务,却连哪个该由谁维护都说不清。
最开始,大家靠文档。Confluence里建了个‘服务清单’,字段就三个:服务名、负责人、部署环境。结果三个月后,一半信息过期,有人离职,有人转项目,文档没人更新。后来改用Excel,加了‘最近一次故障时间’、‘依赖关系’、‘SLA达标率’,但每次要查点啥,都得先问‘现在这个表是谁在维护?’
真正逼我们动手的是那次线上事故。订单系统突然大面积失败,排查两小时才发现是‘风控校验服务’被临时停了,而它的调用方之一‘结算引擎’根本没做熔断。更离谱的是,我们在通讯录里翻了半天,才找到半年前接手这个服务的实习生,他已经转正去了另一个团队。
那天晚上,我们开了个非正式复盘会,没走流程,也没拉领导。几个人围在白板前,画了所有服务之间的调用链,标出关键节点、责任人、应急方案。有人提议:‘能不能做个活的东西?像这张图一样,但能点开看详情,还能设提醒?’
我们试过几个现成的CMDB工具,要么太重,要配一堆模型;要么太死,字段改不了。直到有个同事提了一句:‘蓝点通用管理系统,上次行政用来管会议室,说是可以自己拉表单、设字段,要不要试试?’
一开始只是抱着玩的心态。我们在蓝点上新建了一个‘微服务档案’模块,第一版字段很简单:服务名称、当前负责人、备用联系人、部署环境、健康状态(下拉选项:正常/警告/异常/已下线)、最后更新时间。然后把那张手绘的‘树’拍下来,作为附件上传到根服务下。
没想到,这东西居然活了。
运维同事看到后,主动加了个‘监控链接’字段,直接嵌入Prometheus的看板URL;测试组的人补了‘最近一次回归测试时间’;甚至安全组也来认领,加了个‘是否通过渗透测试’的勾选项。最妙的是,我们可以为每个服务设置‘到期提醒’——比如每90天要复核一次访问权限,系统会自动@负责人。
有次,‘消息推送服务’的状态被手动改成‘警告’,原因是发现日志漏报。第二天早上,三个相关工程师的待办列表里都冒出了这条记录,因为我们在流程里设置了‘状态变更 → 自动生成跟进任务’。没人开会,问题却推进了。
后来我们把那块黑板留着,但内容变成了二维码,扫一下就跳转到蓝点里的实时服务地图。新来的实习生第一件事不是看文档,而是打开这个系统,搜索自己要对接的服务,一眼就能看到‘谁在负责’、‘有没有历史故障’、‘有没有待处理任务’。
其实这系统本身不炫技。没有AI预测,也没有大屏驾驶舱。但它允许我们按自己的节奏,一点点把混乱的信息结构化。比如我们发现‘服务分类’字段不够用,就改成树形选择:基础组件 / 业务中台 / 前端网关……又比如给‘影响范围’加上图标,红色骷髅头代表‘一旦宕机会影响支付’,黄色感叹号是‘仅影响非核心功能’。
有一次架构组想推统一的服务元数据标准,发了十几页PPT,要求所有人按新模板填。我们没反对,但也没执行。而是把他们的建议拆成几个字段,悄悄加到了现有模板里,只保留了真正有用的。他们后来看到我们的数据反而更全,干脆反过来参考我们的配置。
现在,这系统还管着我们的SDK版本兼容表、第三方API调用配额、甚至内部工具的使用反馈。每个团队都可以创建自己的管理模块,但底层数据能打通。比如当某个服务负责人变更时,关联的API文档、部署脚本、监控告警规则都能自动收到提示。
茶水间的黑板还在,但更多时候成了新人打卡的地方——他们喜欢在解决完第一个跨服务问题后,用绿色粉笔在对应的节点上画个勾。偶尔有人写句‘感谢张工半夜重启实例’,或者‘此处曾发生雪崩效应,请勿轻易扩容’。
系统是冷的,但使用它的人会让它长出温度。
微信扫码关注关注乱码泥石流,领取限时福利:
- 蓝点管理系统正版授权
- 好书推荐及电子版资源
- 最新管理软件资讯推送
- 不定期随机福利