java web项目即时消息显示 本人的思路能否合理 求指点

J2EE 码拜 8年前 (2016-03-19) 928次浏览
   本人在做一个 java web项目用pushlet技术即时显示提示消息的功能 ,在servlet中通过userid定时的从数据库中查询未读的消息记录,然后发给全部的客户端,在客户端中根据userID判断,假如客户端的userid=pushlet推送的userid则显示推送的消息数量。
原因是对即时性有要求,所以在后台每隔多少秒就要向数据库发送请求,本人主要是担心服务器负担压力过大,假如只有几个用户还好,服务器只是几个查询,假如用户数量增多,后台访问数据库的次数就太过频繁,总觉得这是一个隐患。
求高人指点!
解决方案

10

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

15

这就得看题主的需求是什么样的了,假如每个用户所得到的数据都是不一样的要求不一样条件的查询,而且又要及时发送的,那必须得查数据库,只能在数据库这边做优化。假如说发送给用户的数据都是一样的,那么可以做缓存处理了。全部的用户都查缓存,缓存在指定的时间查一次数据库就行了。

10

假如是本人做的话,后台就用缓存来存储即时消息。然后前台就用ajax定时调用后台的方法来得到即时消息
后台可使用队列来存储即时消息,先进先出的顺序。

5

既然要即时性  为什么不用消息推送 为什么要去反复查数据库呢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java web项目即时消息显示 本人的思路能否合理 求指点
喜欢 (0)
[1034331897@qq.com]
分享 (0)