我正在开发一个 Java 应用程序(JSP/Servlets),用户可以在其中相互发送消息。为此,我在 MySQL 中使用单个表,其中包含 、 、 等字段msg_id
。sender_id
当receiver_id
user_Amsg_content
向 user_B 发送消息时,我想向 user_B 弹出一条通知,表明他有一条新消息(类似于 Facebook 通知的工作方式)。
我已经搜索了一个解决方案,并发现实现它的一种可能方法是通过 AJAX 轮询。这意味着,例如,应用程序每隔 60 秒就会检查上面提到的表中的新行(给 user_B 的消息),如果找到新消息,它将弹出消息。
但是,假设连接了 100 个用户。这意味着对于每个用户,每 60 秒都会向数据库发出一次请求,这听起来很糟糕。
当上面的例子发生时,应用程序不会变得非常“沉重”吗?实现这一目标的其他选择是什么?