关键是你的前置要做哪些工作,是否有复杂的业务逻辑,对于这样实时性比较高的系统,少用框架。
你不知道Spring+hibernate都是实时性很差的系统吗?Yin在本类别中帖子不是说了:Spring会产生大量垃圾,频繁启动垃圾回收机制,你的应有就得暂停,Spring的动态代理Proxy对象是每个请求信号都会产生的,1分钟处理1000笔交易,那么一分钟内至少1000个Proxy对象,还有其他附带对象,你需要多大内存才能不保证你的内存在短时间内能够调度得过来啊。
比较好的策略:分析你的系统在应付如此大访问量下的瓶颈所在。
如果确实需要业务组件,多台机器组成的分布式EJB系统可能更适合你这样系统,因为ATM机肯定有很长的Session存活期,Spring都没有Session管理框架,你保持一个Session一直不断Open,又占用内存,一分钟内如果非常多的ATM客户端接过来,又通过Session打爆你的主机内存。EJB的Stateful对Session可以在规定内存内进行管理。
如果你这个系统没有数据库,只是一个broker,转接者,使用JMS也比多线程强,千万别用多线程,就像就是现在过得再不好,没有出路,也不能回到原始社会一样。
另外有个异步效率的问题很重要,异步机制注重的时各个环节点之间协调和效率,而不是单点性能,其实在一个协作系统中,某个单点性能再快,也会被性能差的单点综合掉。