大型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)”的出现。
猜你喜欢
- 环境是linux as 4在我创建dbca的时候出现如下错误:Xlib:connection to ":0.0" ref
- Godaddy主机用户可以使用一个基于网络的FTP客户端用Hosting Control Center上载、下载其网站上的文档。注意:尽管你
- 11月20日,阿里巴巴集团正式宣布,试运行百日的阿里妈妈网站(www.alimama.com )已获惊人成长,跃居成为中国最大的网上广告交易
- 11月11日,是所有男女光棍们共同的节日。每一个生活在这个城市中的人不可能没有感觉,与往日相比,如今的光棍族群正在变得更加浩荡。那些以各种面
- 作为链接专题系列的第二篇, 我们想与您讨论一下链接架构的重要性,并且回答您相关的问题。链接架构---您网站的内部链接方式——是您在网站规划中
- Read access:允许用户从服务器下载文件; Write access,:允许用户上载文件到服务器,但不允许修改、删除和重命
- 今天早上遇到的IIS问题问题描述:World Wide Web Publishing服务无法启动。 系统出错 发生系统错误127。 找不到指
- 10月16日消息,近日,百度搜索开放平台邮箱登录框嵌入搜索结果页功能正式开通,再次提升了百度的搜索引擎功能,丰富了用户的使用体验。同时,该服
- Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux
- 图为百度联盟贴片广告管理后台界面腾讯科技讯 4月12日消息,百度网盟推广近日正式宣布开通“贴片推广”业务,首批邀请的站点名单尚未公布,外界预
- 本文记录了VMware下ubuntu与Windows实现文件共享的方法,供大家参考,具体内容如下1、首先需要在ubuntu下安装vmware
- 本篇接着上篇:【Docker0网络及原理探究】,继续深入探究容器网络通信原理,通过学习Docker网路驱动模型,更好地解决容器间的通信问题🎉
- 在一台服务器的使用上,磁盘往往占据着很重要的位置。服务器磁盘的配置和维护对整个服务器性能方面产生很大影响。实际上,优化服务器磁盘的方法只需要
- 百度联盟的主题推广由于后台的功能不是很强大,所以提供给用户的优化和比较的方式不是很灵活,大部分发布者很少考虑百度主题推广的广告优化。实际上对
- 一. 首先贴出本人在网络上找到与VMware网络连接相关的知识安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安
- 装了ubuntu好长一段时间了,都没去用,国庆的时候折腾了下,配置了一些基本的开发环境,一上手就感觉喜欢上了ubuntu,说不上为什么。为了
- 百度终于对外承认早已启动进军IM的步伐。上周五,百度首次对外宣布对最新开发的即时通讯(IM)产品进行内测。该产品被定名为“百度Hi”。不过,
- 先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说:version: '2'
- ChatGPT刷屏了相信大家最近被 ChatGPT 刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子
- 如果要设置新建网站默认.NET版本,就在这里修改在确保你已经安装两个以上的.NET版本后如果看到ASP.NET选项卡的ASP.NET版本为灰