首页 玄幻 武侠 都市 历史 科幻 灵异 游戏 书库 排行 完本 用户中心 作者专区
小米阅读 > 都市 > 人生何处是归途:花城网事三十年 > 第40章 异常代码

2000年 9月的广州天河,空气里还残留着夏末的湿热。

我坐在 cRt显示器前,指尖在泛黄的键盘上悬着。

老谭(wingo)把一杯冒着热气的菊花茶推到我手边,玻璃杯中舒展的菊花像极了他此刻放松的神情。

“163邮局系统的底子,得从 97年说起。”

他往椅背上一靠,指尖敲着桌面,“那会儿丁总带着几个人在花城大道的民居里创业,服务器就搁在客厅角落。最早用的是 Sendmail搭架子,用户量破万的时候,每天早上都能看见丁总蹲在服务器旁抽烟,因为邮件队列堵得像春运的火车站。”

我赶紧掏出笔记本,笔尖在纸页上沙沙作响。

老谭忽然起身,从铁皮柜里翻出一沓泛黄的拓扑图,边缘已经卷成了波浪状。

“98年我们自己攒了 mtA引擎,c语言写的,把 Smtp协议拆成了接收、解析、投递三个模块。你看这张图,前端是四台 Sun Ultra 5做负载均衡,后端挂着 12块 9Gb的 ScSI硬盘,那会儿这配置在国内算顶配了。”

他指着图上用红笔圈出的部分,“用户数据库用的是 mySqL 3.22,密码都是明文存在 user表里头,现在看跟裸奔似的,但在拨号上网的年代,能稳定收发邮件就谢天谢地了。”

他边说边回忆,像是在讲述一个很遥远的故事。

“到 99年用户破百万,我们啃下了 pop3协议的断点续传。你知道吗?那会儿拨号上网按分钟计费,一封带图片的邮件没下完就断线,能把人急得砸鼠标。”

老谭忽然笑出声,指节叩了叩服务器机柜的方向,“现在这套系统,光是存储阵列就占了半个机房,每个月电费够买台新服务器。”

正说着,走廊里传来皮鞋敲击地面的脆响。

老谭脸上的笑意倏地收了,压低声音:“李总昨天在会上提的战略重组,不是简单改改代码。”

说到李总,我忽然想起来前些天的事情。

李总(英文名:Frank)到岗那天,人事部特意在玻璃门上贴了鎏金铭牌:“技术战略总监李清华”。

他拎着银灰色的 Ibm笔记本包走进办公室时,我正蹲在服务器机柜前换磁带。

老谭在身后嗤笑一声:“惠普全球服务部出来的,据说在新加坡做过 hp-Ux迁移项目。”

下午的全员会上,李总打开笔记本,投影幕布上立刻跳出惠普 logo的蓝色地球。

“我在帕洛阿尔托总部时,参与过康柏并购案的 It整合。”

他推了推金丝眼镜,鼠标点出一份几十页的 ppt,“163邮箱当前的技术架构,相当于用算盘打财务报表——mtA模块必须重构,下季度完成 coRbA中间件部署,所有服务器换成 hp proLiant dL380。”

老谭突然站起来,手里的搪瓷杯磕在桌沿:“李总可能不清楚,我们的 c语言引擎经过三年迭代,内存占用比 coRbA方案低 60%。”

他翻开笔记本,指着 9月的运维数据,“上周暴雨导致机房断电,现有架构在 UpS支撑下完成了平滑重启,换成分布式架构根本撑不过十分钟。”

“技术债务必须清算。”

李总敲击键盘,调出惠普的 ItIL流程文档,“网益要从作坊式开发转向标准化,所有代码必须通过 clearcase管理,每日构建报告抄送我邮箱。”

他忽然看向我,“小刘负责把用户数据库迁移到 hp openView平台,下周给我迁移方案。”

我手里的笔差点掉在地上。

那套平台光是 license费用就够买二十台 Sun服务器,而且老谭说过 openView在中文环境下经常乱码。

散会后,老谭把我拉到楼梯间,从烟盒里抖出支红塔山:“他上周让助理把我们的磁带备份全搬到他办公室,美其名曰集中管理。刚才 It采购说,他绕过审批订了十套惠普的存储阵列。”

周五的技术评审会成了火药桶。

当李总要求删除 Smtp协议的本地缓存模块时,老谭把拓扑图拍在桌上:“这模块是为了应对南方电信的线路波动!去年春节流量峰值时,就是靠它扛住了 70%的重复请求!”

“我在惠普处理过亿级用户的系统,”

李总合上笔记本,金属搭扣发出清脆的响声,“网益需要的是可扩展性,不是这些补丁式的小聪明。下周一之前,所有模块必须按 c 标准重写,否则直接提交 hR处理。”

他走后,机房里的服务器突然集体发出蜂鸣——老谭正用控制台重启所有节点,屏幕上闪过一行行红色的错误代码。

“看看吧,”

他指着显示器,“刚把惠普的监控软件装上去,就把我们的心跳检测程序挤崩了。”

直到老谭拍了拍我,这才从以往的画面中回过神来。

他往我这边倾了倾身子,显示器的嗡鸣突然变得清晰,“惠普那套流程他全搬过来了,要把我们的 c模块重写成 c ,还说要引入 coRbA架构。这就像给老黄牛套上航天发动机,跑不跑得动另说,先得拆了牛棚。”

我攥着笔的手紧了紧:“这么大动干戈,是要做什么?”

“说是要对标 hotmail,搞分布式存储。”

老谭冷笑一声,指尖戳着键盘上的 delete键,“但他不懂,咱们的用户数据都存在本地磁盘阵列,迁移的时候只要断网超过两小时,客服电话能被打爆。”

一周后的凌晨两点,机房的空调发出单调的嗡鸣。

我盯着屏幕上滚动的日志,眼皮像坠了铅块。

突然,一行红色的报错跳出来——“smtpd [2345]: connection refused from 210.xxx.xxx.18”。

这个 Ip既不在办公室的白名单里,也不是已知的镜像服务器。

我猛地清醒过来,调出\/var\/log\/messages文件。

用 vi编辑器翻到凌晨 1点 17分,发现有串奇怪的指令:“rsync -avz \/backup\/mail\/ 210.xxx.xxx.18::shadow\/”。

冷汗瞬间爬上后颈,这是把备份目录往陌生 Ip同步的命令。

我颤抖着输入“last”命令,屏幕上跳出一串 root用户的登录记录,其中三条来自那个陌生 Ip,登录时间就在昨夜 11点到凌晨 1点之间。

更可怕的是,\/backup目录下的 tar包全都不见了,连上周的磁带备份也从保险柜里消失了。

抓起桌上的电话,我想打给老谭,听筒里却传来忙音。

突然想起他教过的应急方案,我咬着牙输入“tcpdump -i eth0 port 25”,抓包窗口里立刻涌出密密麻麻的数据包。

过滤出那个可疑 Ip后,发现它还在尝试建立连接。

“hosts.deny里加一行 all:210.xxx.xxx.18”,我一边念叨着老谭的话,一边在终端里敲命令。

接着把系统时钟往前调了三个小时,伪装成备份程序的定时任务还没启动,果然那个 Ip的连接请求变得频繁起来。

我摸出上周末新买的朗科U盘,把 secure日志和抓包文件拷贝进去,塞进主机箱的锁孔里——这是老谭说过的物理隔离法。

机房的铁门突然吱呀作响,我迅速切换到正常的日志界面,心脏在胸腔里擂鼓。

月光从百叶窗的缝隙溜进来,照在服务器闪烁的指示灯上,像无数双窥视的眼睛。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体风格
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
收藏
换源
听书
听书
发声
男声 女生 逍遥 软萌
语速
适中 超快
音量
适中
开始播放
推荐
反馈
章节报错
当前章节
报错内容
提交
加入收藏 < 上一章 章节列表 下一章 > 错误举报