日期:2014-05-18  浏览次数:20705 次

java web项目即时消息显示 我的思路是否合理 求指点!!!
   我在做一个 java web项目用pushlet技术即时显示提示消息的功能 ,在servlet中通过userid定时的从数据库中查询未读的消息记录,然后发给所有的客户端,在客户端中根据userID判断,如果客户端的userid=pushlet推送的userid则显示推送的消息数量。
   因为对即时性有要求,所以在后台每隔多少秒就要向数据库发送请求,我主要是担心服务器负担压力过大,如果只有几个用户还好,服务器只是几个查询,如果用户数量增多,后台访问数据库的次数就太过频繁,总觉得这是一个隐患。
   求高人指点!!!
java?web?pushlet java web pushlet 即时消息

------解决方案--------------------
那得看你准备多少数量级的。。
pv值现在并不是那么容易获得的。
另外如果用户发送的查询请求有很大共同性的话,可以尝试直接放内存。
另外,一般都是车到山前必有路,不到那个时候是预测不到会有什么异常发生的


------解决方案--------------------
这就得看楼主的需求是什么样的了,如果每个用户所得到的数据都是不一样的要求不一样条件的查询,而且又要及时发送的,那必须得查数据库,只能在数据库这边做优化。如果说发送给用户的数据都是一样的,那么可以做缓存处理了。所有的用户都查缓存,缓存在指定的时间查一次数据库就行了。
------解决方案--------------------
如果是我做的话,后台就用缓存来存储即时消息。然后前台就用ajax定时调用后台的方法来得到即时消息。
后台可使用队列来存储即时消息,先进先出的顺序。
------解决方案--------------------
既然要即时性  为什么不用消息推送 为什么要去反复查数据库呢