论坛首页 入门技术论坛

拟用EJB3实现一个大型在线支付系统

浏览 18708 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-01-27  
有思想的芦苇 写道
zuly 写道
ejb3无疑是大型应用的首选!


我也有这样的感觉,EJB3不是为中小型应用准备的东西.有空一定要好好学学,领会EJB3的剑道.
不知道Weblogic,Websphere 对EJB3的支持怎么样?
楼主准备用什么appserver?
先学习点经验.
0 请登录后投票
   发表时间:2007-01-27  
jamesby 写道
有思想的芦苇 写道
zuly 写道
ejb3无疑是大型应用的首选!


我也有这样的感觉,EJB3不是为中小型应用准备的东西.有空一定要好好学学,领会EJB3的剑道.
不知道Weblogic,Websphere 对EJB3的支持怎么样?
楼主准备用什么appserver?
先学习点经验.


感觉现在在EJB3.0的支持上面Weblogic, Websphere都已经落后了,支持最好的是JBoss,BEA和IBM都忙着SOA
0 请登录后投票
   发表时间:2007-01-27  
ahuaxuan 写道
ejb如果用得不好确实可能会产生性能问题,特别是如果大量使用remote和stateful得session bean的时候,这个问题是早有定论的,还有集群和分布不是同一回事,说集群,那想spring这种轻量级框架也是可以集群的,罗德约翰生建议即使使用ejb,也要用slsb,这个我想大家应该没有异议的吧,我们公司现在的做法是既集群又分布,呵呵,大量使用remote session bean,在开发的时候我就已经觉得很慢了,但是他们说要通过集群来把性能提上去,成功与否还不知道,我觉得现在我们拐了个弯,代价是更多的硬件,更长的开发时间,性能未必高到哪里去


EJB用得不好,当然能产生性能问题。
但是,什么技术用的不好,都会产生性能问题,或者任何其他问题。
spring是可以集群,但这不是问题的关键。

0 请登录后投票
   发表时间:2007-01-27  
Lucas Lee 写道
ahuaxuan 写道
ejb如果用得不好确实可能会产生性能问题,特别是如果大量使用remote和stateful得session bean的时候,这个问题是早有定论的,还有集群和分布不是同一回事,说集群,那想spring这种轻量级框架也是可以集群的,罗德约翰生建议即使使用ejb,也要用slsb,这个我想大家应该没有异议的吧,我们公司现在的做法是既集群又分布,呵呵,大量使用remote session bean,在开发的时候我就已经觉得很慢了,但是他们说要通过集群来把性能提上去,成功与否还不知道,我觉得现在我们拐了个弯,代价是更多的硬件,更长的开发时间,性能未必高到哪里去


EJB用得不好,当然能产生性能问题。
但是,什么技术用的不好,都会产生性能问题,或者任何其他问题。
spring是可以集群,但这不是问题的关键。


事实上是用ejb,相对于其他的的技术来说更容易出问题,当然如果你非常精通ejb,那就不用说了,但是这样的人毕竟很少,所以如果公司里没有对ejb非常熟悉的人还是不要贸然用它,另外ejb2.0的entity bean是公认的败笔,很多公司使用ejb框架的都是slsb+jdbc来用的,很少有人会去用entity bean吧(ejb3.0除外,即使是ejb3.0,选择jpa的人估计要比选择entity bean的人要多,这是勿庸置疑的),总之使用ejb对人员的要求比较高一点,那么风险相对来说会大。虽然说
引用
什么技术用的不好,都会产生性能问题
,但是ejb确实是比其他技术更容易用得不好,也就是说ejb更容易产生性能问题
0 请登录后投票
   发表时间:2007-01-28  
popop 写道
正在考虑采用EJB3来构建一个大型的在线支付交易系统。特点是无前端界面,只提供服务接口;每日交易量巨大,对TPS(每秒处理的交易数)的指标要求较高。由此带来的技术性要求为:
1. 对大并发的访问压力有足够承受能力;
2. 响应时间必须足够短(3秒以内);
3. 具有企业级的事务完整要求;
4. 企业级的安全性;
5. 方便实时监控系统运行状态参数,如访问量曲线等;
6. 与银行系统的可靠连接。
采用EJB3,主要是希望利用容器的强大和成熟性,避免重复编写企业级的环境类代码,而将主要精力放在业务实现上。EJB3为本项目至少可以带来对象池的管理、声明式事务支持、透明的集群机制、及其相当程度的安全性。EJB分布式的优点暂时还用不上,准备仅仅使用本地接口的方式,从接入门户系统直接调用。EJB持久层用EJB3.0的JPA。接入系统采用的技术还未深入思考,大致有两种思路:Servlet容器或者自己编写基于javax.concurrent的线程池。
当然,用EJB最担心的还是性能问题,不知道Spring这样的轻量级框架对于这个项目是否就够用了。希望可以通过与大家的讨论,做一次成功的选型。


既然你写道对TPS的指标要求高,我猜业务是以对数据库的读写为主,而没有复杂的业务逻辑,(复杂的逻辑比如说金融数据分析,计算量较大的),这样的话的关键在于数据库。要是EJB 3的JPA搞不好性能还不如JDBC。
0 请登录后投票
   发表时间:2007-01-28  
引用
既然你写道对TPS的指标要求高,我猜业务是以对数据库的读写为主,而没有复杂的业务逻辑,(复杂的逻辑比如说金融数据分析,计算量较大的),这样的话的关键在于数据库。要是EJB 3的JPA搞不好性能还不如JDBC。

大型项目不能只考虑性能,关键是ejb提供的分布式事务管理,这个大型项目所必须的,性能上的一点点差距可以用通过硬件集群来解决,但是裸露的jdbc会绑定软件结构和数据库结构。
0 请登录后投票
   发表时间:2007-01-29  
rtdb 写道
>每日交易量巨大

到底有多大? 每天最大量是多少? 每秒最大量是多少?


设计容量为每秒1500个交易,相对集中在日间。
0 请登录后投票
   发表时间:2007-01-29  
daquan198163 写道

EJB3刚出来,哪有成熟性可言
建议楼主把《without ejb》仔细看一遍,尤其是关于对象池、集群和持久化的讨论


without ejb我看过。其中好像没有讲到对象池的处理,是否可以认为Apache commons-pooling够用了?
0 请登录后投票
   发表时间:2007-01-29  
Lucas Lee 写道
为什么怀疑EJB存在性能问题呢?
那你觉得Entity Bean,EJB集群是用来干什么的?

如果你觉得在低端配置的机器,或者单台机器上的性能不如轻量级框架,那还可以理解。


EJB的性能问题,在我看来存在两点:一是每次调用,都会穿过重量级容器,引起性能不可忽视的损失;二是设计得不好的话,远程调用带来的网络和序列化开销。这个应用对响应速度的要求很高,提高硬件配置倒是没问题,甲方有钱;但我的感觉是在这个项目上相比软件架构,硬件并不起决定性作用。Entity Bean不在视线范围内,只打算用JPA。
0 请登录后投票
   发表时间:2007-01-29  
jamesby 写道
有思想的芦苇 写道
zuly 写道
ejb3无疑是大型应用的首选!


我也有这样的感觉,EJB3不是为中小型应用准备的东西.有空一定要好好学学,领会EJB3的剑道.
不知道Weblogic,Websphere 对EJB3的支持怎么样?
楼主准备用什么appserver?
先学习点经验.


App Server用IBM WebSphere。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics