现有一需求,就是银行的叫号机,客户过来刷卡,叫号机会将客户的卡号传到我们web系统中,我们系统会根据客户的卡号查询客户的信息,符合一定的条件提醒登录的客户经理,要求实时,但延迟几秒也是可以的。有两种解决方案:1.当卡号过来后就将根据卡号查询到的客户信息插入到数据库中,客户经理登录时就轮询数据库,但是太消耗资源而且银行的客户经理还是蛮多的。2.使用DWR实时推送给登录的客户经理。但是,银行采用的是多台服务器集群的方式(我的理解是:java程序放在两个服务器上,但数据库只有一个),可能有的用户推送不到。 请问这个应该怎么办?
------解决方案--------------------
推荐使用JMS
------解决方案--------------------
servlet3.0不是可以支持异步吗?客户登录后可以给监听类的消息队列中加入消息,把这个监听类注册哥经理的那个servlet,监听类是哥单独的线程,会轮询消息队列,如果发现消息队列有改变,就会通过response输出消息给页面,不过页面还需要配合,而且页面还不太容易,搜下servlet3.0 +comet
------解决方案--------------------
不知理解的有没有问题
既然是符合一定条件的才提醒 那么建议对数据库进行处理
1.可以为符合“一定条件”的条件字段加索引
2.可以重新建一张表把那部分“一定条件”数据插入
让后按你的第一种方案 经理登录再去查数据 就可以大大提升效率