大型Java Web系统服务器选型问题探讨

来源:asp之家 时间:2010-05-02 18:28:00 

一位网友在JavaEye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力。由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义。在讨论之初jackson1225这样描述了当前的应用的架构和部署方案:

目前系统架构如下:

web层采用struts+tomcat实现,整个系统采用20多台web服务器,其负载均衡采用硬件F5来实现;

中间层采用无状态会话Bean+DAO+helper类来实现,共3台weblogic服务器,部署有多个EJB,其负载均衡也采用F5来实现;

数据库层的操作是自己写的通用类实现的,两台ORACLE数据库服务器,分别存放用户信息和业务数据;一台SQL SERVER数据库,是第三方的业务数据信息;

web层调用EJB远程接口来访问中间件层。web层首先通过一个XML配置文件中配置的EJB接口信息来调用相应的EJB远程接口;

该系统中一次操作涉及到两个ORACLE库以及一个SQL SERVER库的访问和操作,即有三个数据库连接,在一个事务中完成。

这样的架构其实很多公司都在使用,因为Struts和Tomcat分别是最流行的Java Web MVC框架和Servlet容器,而F5公司的负载均衡是横向扩展常见的解决方案(例如配置session sticky方案)。由于这个系统中有跨数据源的事务,所以使用Weblogic Server EJB容器和支持两阶段提交的数据库驱动就可以保证跨数据源的事物完整性(当然,容器管理的分布式事务并非是唯一和最优的解决方案)。

但是随着Rod Johnson重量级的著作《J2EE Development without EJB》和其中的Spring框架的流行,轻量级框架和轻量级容器的概念已经深入人心。所以对于jackson1225提出的这个场景,大多数网友都提出了置疑,认为这个系统滥用了技术,完全是在浪费钱。网友们大都认为SLSB(无状态会话Bean)完全没有必要出现在这个场景中,认为SLSB通过远程接口访问本地资源会有很大的性能开销,这种观点也是Rod johnson在without EJB中批判EJB 2.x中的一大反模式。

由于JavaEE是一个以模式见长的解决方案,模式和架构在JavaEE中占有很重要的地位,所以很多业内专家也都警惕“反模式(Anti-patterns)”的出现。

标签:系统,服务器,java服务器
0
投稿

猜你喜欢

  • SSL证书是什么?有什么用?

    2010-04-07 13:01:00
  • 从另一个角度看SEO操作

    2008-02-20 18:43:00
  • 微软IIS 7.0使用后感 十大改进值得关注

    2007-09-11 19:56:00
  • WordPress的快捷键

    2009-03-11 16:35:00
  • 为VMware的多台虚拟机绑定IP地址的方法

    2023-11-05 04:11:36
  • 教你去除Discuz!7.0 有无新帖版块图标

    2009-09-20 17:56:00
  • Google AdSense 提升网站广告收益秘技大公开

    2009-04-16 15:15:00
  • 美国主机Godaddy优化后速度超过国内

    2010-04-07 12:47:00
  • 快速分辨欺诈paypal

    2009-03-30 17:30:00
  • CentOS桌面环境中网卡启动失败的解决方法

    2023-11-02 21:30:21
  • CentOS7下如何配置ip forward(虚拟路由器)

    2023-08-06 17:14:23
  • 一个成功的网站SEO 必知的五个流程

    2009-02-20 10:26:00
  • 解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”

    2023-08-05 00:51:10
  • IT写手,你了解多少?

    2009-11-02 10:16:00
  • 生铁关键词阿里巴巴为什么在百度排名第一

    2008-12-29 00:26:00
  • 互联网创业必备的知识

    2008-01-26 19:26:00
  • 批量转换全角数字非法

    2008-08-31 20:32:00
  • 在IIS7中应用Application Request Routing配置反向代理的图文教程

    2022-06-10 11:19:32
  • 图解什么是Web2.0

    2008-03-08 12:54:00
  • 百度如何判断网站文章是否原创

    2008-12-22 09:41:00
  • asp之家 网站运营 m.aspxhome.com