首页 > 解决方案 > 使用服务器发送事件的通知系统

问题描述

我正在设计一个应用内通知系统,最终用户将登录到我的 Web 应用程序,仪表板中会有一个通知图标,通知他所有最新通知。

最初,我使用了轮询,效果很好。我使用 Ajax 在 2 分钟内轮询一次新通知。但是,我们意识到尚未生成很多通知。几乎没有 100 个活跃用户。所以我认为从客户端进行不必要的 ajax 调用是不够明智的。

所以我转到了服务器发送事件。我意识到这完全一样,但轮询现在已委托给服务器。现在我的服务器代表客户端不断轮询数据库以获取新通知。我假设使用 SSE + 事件源,不需要轮询,我可以在事件发生时通过专用频道广播消息。但这个目的并没有解决。(Websocket 解决了这个问题,因为客户端实例订阅了一个专用频道,但到目前为止,我的团队还不能选择使用 websocket)。

请提出前进的方向。我不希望我的服务器在 SSE 的情况下继续循环。

标签: ruby-on-railsajaxpush-notificationserver-sent-eventseventsource

解决方案


推荐阅读