2000年3月16日 星期四
上午 9:30,广欣电力通信公司的会议室里弥漫着电子设备散热扇的嗡鸣。
网络组、开发组、系统组、测试组、维护组的二十多人围坐在长桌旁,投影仪将公司组织架构图投在雪白的幕布上,边角因设备老化微微发虚。
今天是我方技术人员与广欣公司的技术人员进行一次技术分析。
ben推了推鼻梁上的黑框眼镜,把笔记本电脑转向众人。
屏幕上跳动着各地市分支机构的故障报告统计:“上周东莞分部的张工发了三封设备巡检报告,全卡在了内网网关。清远那边更糟,oA系统里的邮件模块三天崩了两次,现在他们宁愿跑长途送纸质文件。”
他顿了顿,调出系统拓扑图,“现有 mIS和 oA系统就像两个孤岛,邮箱功能是五年前嵌进去的,代码底层还是 doS时代的字符界面逻辑,别说发带图表的邮件,连超过 200字的文本都会乱码。”
“最要命的是网络瓶颈。”
ben敲了敲广州总部到各地市的带宽数据,红色折线像陡峭的悬崖,“总部这边用AdSL还能勉强撑住,韶关、梅州那些用 ISdN专线的分部,打开邮箱平均要等 47秒。上周佛山分部报障,说连续三天下午三点后彻底登不上系统——他们那边正在搞农网改造,三百多个员工挤在同一个网段抢带宽。”
没等ben说完,系统工程师 Rebecca突然站起来说:“要解决访问延迟,服务器必须集中部署在总部机房。”
她起身走到白板前画了个金字塔,“底层加两台 Ibm小型机做集群,中层用负载均衡器分流,顶层架防火墙隔离内外网。这样各地市访问时,请求先到负载均衡节点,再分配给空闲服务器,延迟能压到 10秒以内。”
“硬件堆得再高,软件跟不上也是白搭。”
前端工程师 John突然把笔记本电脑转过来,屏幕上是封乱码的测试邮件,“现在的文本编辑器连加粗都做不到,要支持富文本就得换工具链。我建议用 JavaServer Faces框架,配合 tinymcE编辑器,这样用户能直接拖放表格和图片,就像用 word一样简单。”
他说话时手指在触控板上飞快滑动,演示着邮件草稿的排版效果。
“新框架意味着新漏洞。”
测试工程师 william推了推眼镜,他面前摊着厚厚一叠缺陷报告,“上个月 oA系统升级就因为没测兼容,导致 xp系统用户全登不上去。我建议引入敏捷测试,把开发周期切成 4周一个迭代,每完成一个功能就做渗透测试和压力测试。特别是富文本解析模块,必须用边界值分析法反复测。”
架构师 Albert一直沉默地转着水笔,这时突然把笔按在桌上:“你们说的都只解决局部问题。”
他抓起马克笔在白板上画了个网状图,“1200个用户同时在线,峰值邮件吞吐量会达到每秒 300封,单集群扛不住的。必须用分布式架构,把邮件服务器、存储节点、应用服务器拆成独立集群,用 coRbA协议通信。这样就算广州总部机房断电,佛山的镜像节点还能接管服务。”
“分布式?那我们现有的.NEt开发团队怎么办?”
开发组长 bob立刻反驳,“重构成本太高了,光是培训员工就得花三个月。”
“技术债早晚要还。”
Rebecca抢过话头,“去年省电力局的系统崩溃,就是因为舍不得重构老代码。”
争吵声越来越大。
John把笔记本电脑合上又打开;william不停地在计算器上敲打测试用例数量;Albert则在白板上画了又擦,各种架构图的残影交叠成一片混乱。
争吵声中,广欣公司It部维护组的赵工突然举起手,他袖口还沾着服务器机房的灰尘。
“上个月汕头分部的邮件服务器被植入过特洛伊木马,”
他把一份打印的日志拍在桌上,纸页上满是密密麻麻的 Ip地址,“黑客用弱口令登录后,把设备台账邮件转发到了外部邮箱。你们谈架构的时候,是不是忘了安全这根弦?”
会议室瞬间安静下来。
赵工指着日志里的时间戳:“凌晨两点的登录记录,我们的防火墙根本没报警。现在要搞分布式架构,节点之间的通信要是没加密,等于把钥匙挂在门上当装饰。”
“网络层必须加双重防护。”
It部网络组的陈工立刻接话,他从抽屉里翻出 cisco pIx防火墙的手册,“总部机房用 pIx 525做边界防护,开启状态检测功能,只允许 80和 443端口的流量通过。各地市分部用 VpN隧道接入,用 Ipsec协议加密数据——上周深圳供电局刚部署了这套方案,能防住 70%的端口扫描攻击。”
“系统安全更不能马虎。”
Rebecca补充道,她在金字塔架构图旁画了个锁,“Ibm小型机必须启用 AIx的安全增强模块,把默认账户的权限降到最低。存储节点要用 RAId 5+1,不仅要做数据冗余,还要开启 LVm加密——去年省档案馆的系统就是因为硬盘被盗,泄露了五万份用户数据。”
John突然皱起眉头:“加密会拖慢响应速度的。”
他调出性能测试数据,“SSL 3.0加密比明文传输慢 37%,富文本邮件带的图片多,用户肯定会抱怨加载慢。”
“慢总比丢数据强。”
赵工翻出另一叠故障单,“前年清远分部的邮件服务器感染病毒,整个网段的 Excel表格全被篡改。代码层面必须加校验机制,比如用 md5哈希值验证附件完整性,Java代码里要禁用 Runtime.exec 方法——上次开发组的小王就因为调用了这个函数,被黑客注入了恶意命令。”
Albert在白板上圈出“安全”二字:“我补充两点。分布式节点之间用 coRbA通信时,必须启用 SSL隧道;所有输入框要做过滤,防止 SqL注入——上个月我审计旧系统代码,发现有 37处直接拼接 SqL语句的地方,这就是定时炸弹。”
william把测试方案往安全方向修正:“渗透测试要加社工库模拟,用弱口令字典跑遍所有账户。代码审查时重点查缓冲区溢出,特别是 c语言写的邮件解析模块,必须用 strncpy代替 strcpy。”
Jackson看着白板上逐渐完善的架构图,突然在安全模块旁画了个星号:“曾总监刚才在电话里特别强调,电力系统属于关键信息基础设施。这样,给所有服务器加个 IdS吧,用 Snort 1.8版本,规则库每周更新——就算防火墙被突破,至少能实时报警。”
争吵声渐渐变成了讨论。
ben开始计算安全模块的开发成本;John研究着 SSL加速卡的型号;william在测试用例里加了十项安全校验。
墙上的石英钟指向 12点,白板上的架构图多了三层防护网,像给整个系统穿上了铠甲。
“都停一下。”
Jackson突然开口。
他刚接完一个电话,手里还攥着发烫的手机,“刚才曾总监路过茶水间特意交代,技术选型要盯着 2005年的趋势。他说上周去深圳参加互联网大会,看见华为在推千兆以太网交换机,还有 SUN公司演示的网格计算——这意味着未来五年分布式会成为主流。”
他走到白板前擦掉混乱的涂鸦,画了个清晰的三层架构:“前端用 John说的 JSF框架,但预留 web Service接口,方便以后对接移动终端;应用层按 Albert的思路搞分布式,但先在总部部署核心集群,各地市留好扩展节点;测试用 william的敏捷方法,但要加个性能测试岗,专门测万级用户并发。”
Jackson拿起笔在架构图旁补了行字:“下周一之前,每个人把技术方案写成文档,包括服务器型号、框架版本、测试用例设计,都交给 Albert汇总。”
他看了眼手表,“现在散会,下午各组长留一下,讨论文档模板。”
会议室的人陆续离开,Albert留在原地盯着白板上的架构图。
阳光透过百叶窗在图上投下斑驳的光影,他伸手抚摸着“分布式集群”那行字——2000年的中国企业里,敢这么大规模采用分布式架构的还寥寥无几。
桌角的报纸上,“互联网泡沫破裂”的头条格外刺眼。
但他知道,曾总监那句“五年不落伍”的要求,意味着他们必须在技术浪潮里走出一条自己的路。
傍晚的夕阳把机房的影子拉得很长,Albert抱着一摞技术文档站在服务器机柜前。
最新的《计算机世界》上,Ibm刚刚发布了 webSphere 4.0,而甲骨文的 9i数据库正主打“网格计算”概念。
他掏出笔在笔记本上写下:“采用 J2EE规范,预留 SoA接口,存储用 RAId5阵列+磁带库备份……”
笔尖划过纸页的沙沙声里,仿佛能听见未来五年技术变革的脚步声。
请大家记得我们的网站:品书中文(m.pinshuzw.com)人生何处是归途:花城网事三十年更新速度全网最快。