ruby-on-rails - 使用服务器发送事件的通知系统
问题描述
我正在设计一个应用内通知系统,最终用户将登录到我的 Web 应用程序,仪表板中会有一个通知图标,通知他所有最新通知。
最初,我使用了轮询,效果很好。我使用 Ajax 在 2 分钟内轮询一次新通知。但是,我们意识到尚未生成很多通知。几乎没有 100 个活跃用户。所以我认为从客户端进行不必要的 ajax 调用是不够明智的。
所以我转到了服务器发送事件。我意识到这完全一样,但轮询现在已委托给服务器。现在我的服务器代表客户端不断轮询数据库以获取新通知。我假设使用 SSE + 事件源,不需要轮询,我可以在事件发生时通过专用频道广播消息。但这个目的并没有解决。(Websocket 解决了这个问题,因为客户端实例订阅了一个专用频道,但到目前为止,我的团队还不能选择使用 websocket)。
请提出前进的方向。我不希望我的服务器在 SSE 的情况下继续循环。
解决方案
推荐阅读
- ruby - 为什么我的迭代器给出错误的值?
- batch-file - .BAT - 打开程序会停止执行下一行的 bat 文件
- php - jquery.load("external.php") 内部服务器错误 500
- c# - Xamarin Studio 不允许单击“下一步”按钮
- javascript - 在按类或名称选择复选框的事件后调用函数
- angular - 如何在 Angular NGX-Datatables 中使用编辑和删除选项
- android - 通过安卓应用程序硬重置/数据擦除安卓设备
- javascript - 使用 Phonegap 在 Android 中隐藏状态栏
- objective-c - Trying to escape space in a NSString object
- java - 使用 junit 和 mockito 测试 jpql 查询