发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

用j2ee架构金融平台,请各位指点

         
2006-01-06 23:36
赞助商链接

在ATM和银行主机之间,通常有个大前置,主要用来做一些预处理工作,传统的金融平台大多采用c来处理,现在想接入网银,想改用j2ee来架构,也为以后的sop做准备,我想问的是在这种实时交易系统里应该用什么的架构。因为ATM是走TCP/IP协议的,而网银是http协议的。如果我web方面采用jsp+struts做页面层spring+hibenate做业务层,而ATM的接入采用application同样接入到到spring的业务层。由于交易量较大,必须1分钟处理1000笔交易(单ATM),这样的架构是否合适?另外,多线程如何去实现?请各位高手指点,特别是板桥大哥!

1
2006-01-09 10:16

>必须1分钟处理1000笔交易(单ATM),这样的架构是否合适
关键是你的前置要做哪些工作,是否有复杂的业务逻辑,对于这样实时性比较高的系统,少用框架。

你不知道Spring+hibernate都是实时性很差的系统吗?Yin在本类别中帖子不是说了:Spring会产生大量垃圾,频繁启动垃圾回收机制,你的应有就得暂停,Spring的动态代理Proxy对象是每个请求信号都会产生的,1分钟处理1000笔交易,那么一分钟内至少1000个Proxy对象,还有其他附带对象,你需要多大内存才能不保证你的内存在短时间内能够调度得过来啊。

比较好的策略:分析你的系统在应付如此大访问量下的瓶颈所在。

如果确实需要业务组件,多台机器组成的分布式EJB系统可能更适合你这样系统,因为ATM机肯定有很长的Session存活期,Spring都没有Session管理框架,你保持一个Session一直不断Open,又占用内存,一分钟内如果非常多的ATM客户端接过来,又通过Session打爆你的主机内存。EJB的Stateful对Session可以在规定内存内进行管理。

如果你这个系统没有数据库,只是一个broker,转接者,使用JMS也比多线程强,千万别用多线程,就像就是现在过得再不好,没有出路,也不能回到原始社会一样。

2006-01-23 09:52

首先,感谢板桥大哥的回复。前置所要做的工作通常是将ATM发送来报文解开,然后记流水到数据库,然后根据交易的类型重新按照主机的报文格式达包,发送到各自的主机.这个的确是实时性很强的系统。通常现在都是采用unix c来做的。可将来的趋势,也一定是要在j2ee下做。板桥大哥有什么进一步的建议?

2006-01-23 19:59

你这个业务我推荐使用JMS异步系统,将记流水到数据库和报文发送使用异步机制实现,这样效率最大化,好的异步系统性能并不比同步差。

另外有个异步效率的问题很重要,异步机制注重的时各个环节点之间协调和效率,而不是单点性能,其实在一个协作系统中,某个单点性能再快,也会被性能差的单点综合掉。

2006-01-25 10:19

您要是采用banq的方案有什么结果一定通知一声哈!看了这个精巧无比的极具经典特色的j2ee方案我直接无语……

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com