工程师成长录:做项目的那些事儿(1)


51CTO.com独家特稿】作为一名项目施工人员,抚琴煮酒前前后后也实施过一些大大小小的项目了,有并发量大的CDN广告网站,还有证券类资讯网站以及电子商务网站等,还有就是一些并发不大但要求作成HA的小型网站等,感觉其实在实施过程还是有蛮多技巧和心得的,特写出来与大家分享一下。

一、准备工作一定要做好做细

做为项目实施工作,还是比较有技术含量的,有的还因为合同期限,有时间限制,所以一定要在公司将所要布署的施工方案的技术活细化,最好是做个几十遍,将各种各样的意外都设想进去。众所周知,Linux下软件如果是源码编译安装的话,有的也区分32位和64位的;更别说windows下的程序了,吃了一次亏后我后期就直接建议上级领导,以后程序的开发环境和测试都统一为64位了,布署环境我们现在都统一为64位的CentOS5.x及windows2003 企业版+SQL Server2008,这说的是服务器的操作系统的统一性。

再说下软件版本的问题,比如说我们要用Nginx作负载均衡,这时候是用nginx 0.7x还是nginx0.8.15呢,我们经过了大量测试,并且作了相关的压力测试,最后决定了用nginx0.8.15,在项目实施后发现其稳定性相当不错,所以后期的项目实施中一直采用nginx0.8.15,其它的软件版本类似,即测试的工作一定要作好做细做多,可能要浪费不少时间和精力,但这个工作一定要做,必须的。另外的是就是要跟客户那边的IT技术部门多沟通,弄清楚他们的机房带宽,服务器是放在自己机房还是放在电信机房,值班人员是否24小时监控,服务器的性能如何?是否是四核至强,单台大约能承受多少并发(很遗憾,这个问题基本没多少IT技术能弄得很清楚),最好的做法是给对方的IT技术一张关于网络和系统的调查表,然后一定要得到对方肯定的反馈,我最喜欢的情况之一是对方什么都没,从路由器到服务器和存储都是我们推荐,他们购买,这种情况就能对服务器性能一清二楚了。根据我所了解的系统管理员,一般都很熟悉windows系列,但一谈到Linux和unix,尤其是Centos和FreeBSD,基本就处于空白期了,所以一定要耐心跟他们核对。

另外有一个件事,一定要跟大家提个醒,我们带过去的程序,如果是Linux的源码和数据库的文件估计还好,但如果是windows的文件,尤其是执行文件(一般是移动硬盘直接携带),一定要用最新的杀毒软件,我们一般是NOD32和卡巴斯基,但这样还不保险。最后是跟对方的技术支持多沟通,用对方的杀毒软件来进行检查,这个我们是有教训的;如果你的软件有病毒,损失全由你方来承担,而且这个对于系统管理员而言,太不专业了。由于我负责的多是linux/unix机器(我安装的MySQL机器也很多),我这边基本是从没出过问题;而同事携带的移动硬盘,由于用的人太多了,结果拿到客户的机房一扫,居然有毒,所以这事最好是在己方公司做好,不要因为细节影响大局。另外要多了解下对方那边有无网络安全方面的防火墙,一定要一台防DDOS攻击的,目前这方面还比较好,客户做的多是证券系统和电子商务的,非常注意安全,一般都有Juniper系列的防火墙。


相关内容