个人体会:
IBM的WAS服务器使用难度上,也许比BEA的WLS服务器难10倍,学习成本很高,我05年末几乎花了两个月时间在它上面,天天研究那几本红皮书,测试。IBM的红皮书质量真的非常不错,但太多了。
WAS是定位在大型企业应用,集群系统。它的cell-->node-->server,profiles架构以及server上的cluster做得还挺强大的。但是,也许99%的用户都用不到,而且它的cell-->node-->server架构在WLS的domain-->server类似,但WLS非常易用。不过对于大型网站的前端http server,IBM自己加工的那个apache,和WAS配合还是挺好的。
在部署方面,WAS比WLS烦琐得多,虽然也支持命令行和自动部署,但比WLS难,因为发布一个app,大概要更新18个xml配置文件,n个步骤,手动更改配置文件几乎不现实,而WLS只需要把package丢过去就ok了,production环境下也只要控制台选择一下就ok了。在WAS下,我碰到一次是,集群同步时出错,下次几个server都启动不起来,手动修改serverindex.xml等相关文件才搞定,幸好那只是测试环境。
我用JProfiler监测WAS和WLS,WAS运行一段时间后,当时我那个环境启动了300多个thread,而WLS只启动50多个,而且WAS启动一般三分钟,而WLS可能半分钟。
另外,一般IBM的WAS运行在AIX、小型机环境下,而小型机的内存可能有个8G,这时候,最好是把WAS做成纵向分布式,也就是说,一个AIX上安装两个WAS。这个我当初也不明白,现在有体会了,因为这样比较好利用内存,因为JVM的heap设置过大并不好,很影响GC性能。还有,可能你的实际的应用怎么都不可能超过2G的heap。
给大家推荐几本WAS部分用到的IBM红皮书吧,他对我摆平我们这个大项目的WAS问题非常有帮助,我只推荐我仔细读过的、认为最值得看的,它们都可以在ibm红皮书网站下载:
《WebSphere Application Server V6 System Management & Configuration.pdf》:WAS教材
《WebSphere Application Server V6 Planning and Design WebSphere Handbook Series.pdf》:WAS教材高级版本,怎么去规划WAS。
《WebSphere Version 6 Web Services Handbook Development and Deployment.pdf》:Web Services教材,对Web Services本身讲解也很深入浅出。
《WebSphere Application Server V6 Security Handbook.pdf》:WAS安全必备书籍
《WebSphere Application Server V6 Problem Determination for Distributed Platforms.pdf》:WAS出问题了,看它吧。不过,这本书太初级,恐怕出了问题,它70%都不能帮你解决,还是去找IBM技术支持吧。
建议:WAS出问题了,一定要耐心研读红皮书,了解WAS的原理,盲目尝试往往都得不偿失,因为你做点改动,启动重启一次都要5分钟,重启20多次,一般一天时间就过去了,也就是说你只能知道有20个不行的尝试,但也许还有100个不行的尝试等着你,呵呵。总之,尝试你永远都不知道真正为什么会出错。
忘了,一定深入了解WAS里面的Classloader原理,这对你部署过程中出问题非常有帮助,譬如xml找不到,log打印不出来呀,我曾经也是饱受折磨。用好它,必须有深厚的理论基础,它不是给普通开发人员用的,反正我认为他的易用性是很失败的。