第二十二章 · P0¶
十月五日,星期一,上午九点。
国庆假期刚结束,工位区人不多。连接池使用率百分之四十一,比放假前高了六个点。
放假七天,没有人调整过配置。这个数只能是流量涨了。
他打开独立消息服务设计文档,看了一遍,没有改,关掉。
他打开记事本,看到最后一行:十月二日。我不知道要不要往后推一周。
这一行他没有删。
茶水间没有人。窗外天空是蓝的,没有云。蒋辉那句话是九月三十号下午说的,用的是「你考虑一下」,不是「你推后一周」。前一种说法不需要他负责。
推后一周,规则引擎调度服务的接入就要等到十月第三周。张磊那边的排期已经报上去了。这件事蒋辉知道,他没有提。
下午两点,他收到易文的消息。
「消息服务什么时候上线。」
「十月第二周。」
「资源申请了吗。」
「申请了。两台服务器,一个消息队列 topic,一个数据库表。」
「批了吗。」
「还没。」
「催一下。」
「好。」
陈稳打开资源申请系统,看了一眼状态:待审批。审批人是纪衡。他关掉,没有催。
下午四点,他收到纪衡的消息。
「资源申请我看到了。消息服务跟规则引擎调度服务,共用同一个资源池。你确认过资源够吗。」
陈稳想了想,打字:「规则引擎调度服务当前使用率多少。」
「我不知道。你问一下蒋辉。」
陈稳没有马上问。他打开记事本,写一行:十月五日。纪衡说资源池共用。问蒋辉。
他看了一遍,保存,关掉。
十月六日,星期二,上午九点。
陈稳到一号楼,看到蒋辉已经在工位上了。他走过去,站在蒋辉工位旁边。蒋辉抬起头,看着他。
「资源池的事,纪总问我了。」陈稳说。
「他问我了。」蒋辉说。
「你那个规则引擎调度服务,当前资源使用率是多少。」
「百分之四十左右。峰值百分之六十。」
四十和六十之间差二十个点。消息服务要用掉十二个点。
「你那个消息服务,需要多少资源。」蒋辉说。
「不算多。两台服务器,一个 topic,一个表。」
「消息队列的 topic 呢。你用的哪个 topic。」
「新建的。跟规则引擎调度服务的 topic 不冲突。」
蒋辉在键盘上敲了两下,没有敲回车。
「你那个方案,如果推后一周,有什么影响。」蒋辉说。
「时间表要改。纪衡那边要重新确认。」
「就一周。」
「我知道。」
「你考虑一下。」蒋辉说完,低下头,继续看屏幕。
陈稳回到工位,记事本上多了一行:十月六日。蒋辉说规则引擎调度服务使用率百分之四十。峰值百分之六十。他又问了一次要不要推后一周。
「又」这个字他写了才发现,这是第三次。
他看了一遍,保存,关掉。
下午三点,他收到纪衡的消息。
「你跟蒋辉确认过了吗。」
「确认了。规则引擎调度服务使用率百分之四十,峰值百分之六十。」
「够吗。」
「够。」
「资源申请我批了。」
陈稳打开资源申请系统,状态变成了已审批。他看了一会儿,关掉,打开记事本,写一行:十月六日。纪衡批了资源申请。消息服务十月第二周上线。
他看了一遍,保存,关掉。
十月八日,星期四,上午九点。
陈稳到一号楼,工位区人齐了,所有人都回来了。他坐下来,打开电脑,打开监控大盘,结算成功率百分之九十九点九九,连接池使用率百分之四十三。
他打开消息服务代码,看了一遍,没有改,关掉。
下午两点,他收到运维的消息。
「消息服务 topic 创建完成。两台服务器已分配。IP:10.16.3.21,10.16.3.22。」
陈稳回复:「收到。」
他打开部署脚本,看了一遍,没有改,关掉。
十月九日,星期五,上午九点。
陈稳到一号楼,工位区没有人,他来得最早。他坐下来,打开电脑,打开消息服务代码,看了一遍,没有改,关掉。他打开部署脚本,执行。
他等了五分钟,部署完成。
他打开日志,看了一遍,消息服务启动正常。他打开监控大盘,消息服务运行正常,没有告警。
他打开记事本,写一行:十月九日。消息服务上线。运行正常。
他看了一遍,保存,关掉。
下午四点,他收到纪衡的消息。
「消息服务上线了?」
「上线了。」
「运行正常吗。」
「正常。没有告警。」
「好。」
陈稳放下手机,打开记事本,写一行:十月九日。消息服务上线。纪衡问了。没有告警。
他看了一遍,保存,关掉。
十月十二日,星期一,凌晨两点。
手机响了。
他睁开眼睛,拿起手机,屏幕亮着,显示着:值班告警。结算系统。他坐起来,揉了揉眼睛,打开电脑。
他打开监控大盘,结算成功率百分之九十九点九九。他打开告警详情,看了一遍。告警来源:规则引擎调度服务。告警内容:资源池使用率超过阈值百分之九十。当前值百分之九十四。
他打开规则引擎调度服务的监控页面,资源池使用率百分之九十四,还在上升。他打开消息服务的监控页面,消息服务运行正常,资源使用率百分之十二。
他打开规则引擎调度服务的日志,看了一遍。日志显示,十月十二日零点开始,规则引擎调度服务的请求量突然上升,从每分钟三千条上升到每分钟一万两千条。他打开消息服务的日志,消息服务运行正常,请求量稳定,每分钟四千条左右。
他打开规则引擎调度服务的配置文件,找到了一行。
rule.engine.settle.topic=settle.message.topic
他打开消息服务的配置文件,找到了一行。
message.settle.topic=settle.message.topic
两个服务的 topic 配置,指向了同一个 topic。
他放下手机,看着屏幕,没有动。
他重新看了一遍。规则引擎调度服务的 topic 配置,跟消息服务的 topic 配置,指向了同一个 topic。规则引擎调度服务从十月十二日零点开始,收到了本应发给消息服务的消息。它没有处理能力,所以消息积压,资源池使用率上升。
他打开规则引擎调度服务的 MR 历史,找到最近一次提交,看了一遍。commit message:feat: 规则引擎调度服务——增加 topic 配置项,支持动态切换。提交时间:十月十一日二十三点四十七分。提交人:蒋辉。
MR 没有 reviewer,蒋辉自己合入了。
他打开监控大盘,资源池使用率百分之九十六。
他打开记事本,写一行:十月十二日,凌晨两点零七分。蒋辉在十月十一日二十三点四十七分提交 MR,增加 topic 配置项,指向消息服务的 topic。MR 无 reviewer,自行合入。资源池使用率百分之九十六。
他看了一遍,保存,关掉。
他打开监控大盘,资源池使用率百分之九十八。结算成功率百分之九十九点九八,在下降。
凌晨两点,窗外是黑的,对面楼的灯亮着,几扇窗,零星的。记事本上他写了三个字:怎么办。
他看了一遍,没有删,继续写。
方案一:修改规则引擎调度服务的配置文件,删除 topic 配置项,重启示例。方案二:消息服务暂时停用,释放资源池。方案三:扩容资源池。
他选方案一。
他打开规则引擎调度服务的配置文件,删掉 rule.engine.settle.topic=settle.message.topic,保存,提交 MR,自己合入,重启规则引擎调度服务。
他等了五分钟,监控大盘显示,资源池使用率从百分之九十八降到百分之七十六,还在下降。结算成功率从百分之九十九点九八升到百分之九十九点九九。
他打开记事本,写一行:十月十二日,凌晨两点二十分。修改规则引擎调度服务配置文件,删除 topic 配置项,重启示例。资源池使用率从百分之九十八降到百分之七十六,结算成功率恢复。
他看了一遍,保存,关掉。
他打开手机,看到值班群里已经有消息了。蒋辉发的。
「资源池使用率告警,谁在处理。」
陈稳打字:「我。」
「原因是什么。」
「配置错误。规则引擎调度服务的 topic 配置指向了消息服务的 topic。」
「谁配置的。」
MR 提交人那一栏写着蒋辉。这三个字他打进输入框,删了。
「是我配置的。」蒋辉说。
这条消息在群里,二十三个人能看到。
「现在恢复了吗。」
「恢复了。删除了错误配置项,重启了服务。」
「好。」
陈稳放下手机,看着屏幕,没有动。
他打开记事本,写一行:十月十二日,凌晨两点三十分。蒋辉说,是我配置的。
他看了一遍,保存,关掉。
他拿起手机,看到纪衡的消息。
「什么情况。」
陈稳打字:「规则引擎调度服务配置错误,topic 指向消息服务的 topic,消息积压导致资源池打满。已恢复。」
「谁发现的。」
「我。」
「谁修的。」
「我。」
「好。」
陈稳放下手机,看着屏幕,没有动。他看了一眼时间,从告警到恢复,二十五分钟。三十分钟以内。
他打开记事本,写一行:十月十二日,凌晨两点三十五分。从告警到恢复二十五分钟。三十分钟以内。
他看了一遍,保存,关掉。
资源池使用率百分之五十八,结算成功率百分之九十九点九九。凌晨两点三十五分,窗外是黑的。
记事本上多了一行:十月十二日,凌晨。对面那扇窗的灯,还是黑的。
他看了一遍,没有删,保存,关掉。
他打开代码,继续写对账模块重构的逻辑。
凌晨三点,他收到易文的消息。
「听说你处理了一个事故。」
「嗯。」
「严重吗。」
「P0。资源池被打满了。已经恢复了。」
「谁的问题。」
蒋辉的名字他没有打。
「蒋辉?」
易文不需要他回答就猜到了。她甚至不在结算组。
「你写复盘了吗。」
「还没。」
「写。明天早上发。不要等别人问你。」
「好。」
「你那个消息服务受影响了吗。」
「没有。消息服务正常。资源池是共用的,规则引擎调度服务那边消息积压,把资源池打满了。消息服务没有受影响,因为消息服务处理速度快,没有积压。」
「所以不是你的问题。」
「不是。」
「但你在现场。」
「嗯。」
「你做了什么。」
「删了错误配置项,重启了服务。」
「还有呢。」
「没有了。」
「你写了复盘吗。」
「还没有。」
「写。写清楚。你做了什么,为什么这样做,效果怎么样。不要写别人的问题,写你自己的动作。」
「好。」
「你那个消息服务,上线了,正常运行,没有受影响。这是你的成绩。你写在复盘里。」
陈稳看着屏幕,没有回复。
「写。」
「好。」
陈稳放下手机,打开记事本,写一行:十月十二日,凌晨三点。易文说写复盘。写自己的动作,不写别人的问题。
他看了一遍,保存,关掉。
他打开文档,开始写复盘。
他写:十月十二日凌晨两点,值班告警触发,规则引擎调度服务资源池使用率超过阈值百分之九十。排查发现,该服务配置文件中的 topic 配置项指向了消息服务的 topic,导致消息积压,资源池打满。修复方案:删除错误配置项,重启服务。从告警到恢复共用时二十五分钟。消息服务运行正常,未受影响。
他看了一遍,没有改,保存,关掉。
他打开记事本,写一行:十月十二日,凌晨三点二十分。复盘写完了。四百字。写了动作,没写别人的问题。
他看了一遍,保存,关掉。
他打开监控大盘,资源池使用率百分之四十三,结算成功率百分之九十九点九九。他看了一会儿,没有关。他坐在工位上,看着屏幕上的绿色数字,平稳,没有波动。
手机响了。
他拿起来,看了一眼。纪衡发的。
「复盘写好了吗。」
「写好了。」
「发我。」
陈稳把复盘发过去。
纪衡的回复在五分钟后:「收到。」
陈稳放下手机,看着屏幕,没有动。
他打开记事本,写一行:十月十二日,凌晨三点四十分。复盘发了。纪衡说收到。
他看了一遍,保存,关掉。
资源池使用率百分之三十九,结算成功率百分之九十九点九九。凌晨三点四十分,窗外没有星星,没有月亮。
他没有打开电脑。墙上白板写着值班排班表,他的名字,陈稳,下周一,二十四小时。这是本月第二次。
手机响了。蒋辉发的。
「谢了。」
这两个字发过来的时间是凌晨三点四十七分。蒋辉这个点还没睡。
「我不是在谢你帮我处理了事故。我是在谢你没有在群里说是我配置的。」
群里那条「谁配置的」,陈稳确实没有回。他当时打了三个字,删了。
「我刚才在群里说是我配置的,是怕纪总查出来。你不用说,我自己说。你帮了我一次。」
「你帮了我一次」——蒋辉用的是「帮」。陈稳什么都没做,只是没说。这也算帮。
「你那个消息服务,不需要推后了。你按你的计划走。」
推后一周这件事,从九月三十号问到十月六号,一共三次。这一次不用回答了。
记事本上多了一行:十月十二日,凌晨。蒋辉说,谢了。他说,我不是在谢你帮我处理了事故。我是在谢你没有在群里说是我配置的。他说,你那个消息服务,不需要推后了。
这一行他没有写自己删掉的那三个字。
资源池使用率百分之三十六,结算成功率百分之九十九点九九。
手机响了。
他拿起来,看了一眼。何晚发的。
「你还没睡?」
「值班。处理了一个事故。」
「严重吗。」
「不严重。已经恢复了。」
「你什么时候回来。」
「天亮。」
「我给你煮粥。」
陈稳看着屏幕,没有说话。
「不用。」他打字。
「你胃不好。我给你煮粥。你回来的时候,正好可以吃。」
陈稳看着屏幕,没有说话。
「好。」
他放下手机,看着屏幕上的绿色数字,百分之九十九点九九,平稳,没有波动。他看了一会儿,没有关。
他站起来,走到窗边,看着外面。凌晨四点,天快亮了。对面楼的灯,亮着几扇,零星的。他看了一会儿,没有走回工位。
他站在窗边,看着外面,没有动。
天边有一道光,很淡,很浅,慢慢地亮起来。
他看了很久。
然后他走回工位,坐下来,打开代码,继续写对账模块重构的逻辑。
← 第二十一章 茶水间 · 目录 · 第二十三章 谈话 →