node.js - 使用 websocket 从数据库到客户端的实时数据更新/更改

标签 node.js websocket socket.io mariadb rethinkdb

我正在尝试使用网络套接字构建实时应用程序。目前,我正在使用 ajax 从客户端拉取(每个固定间隔)来获取数据库表中的新更改。我不完全了解如何使应用程序实时。

当前实现:
在我的应用程序中,我通过 ajax 轮询从数据库 (MariaDB) 获取数据并将其显示在客户端的表中。

预期行为:
没有来自客户端的轮询,只要数据库端发生更改,它就应该在所有连接的客户端上更新。

在我的搜索过程中,我遇到了一些解决方案:

  1. Node.js + server.io + Oracle 数据库
  2. 重新思考数据库
  3. 服务器发送事件
  4. 持续查询通知

请帮助我找到更好的解决方案。

最佳答案

我觉得听起来不错!

Node.js
Oracle (+ CQN)
Socket.io

  • Node.js 服务器注册通知查询
  • 收到更改通知后,node.js 服务器会从数据库中提取更改
  • 成功检索更改后,node.js 服务器使用 socket.io 将更改发布给所有感兴趣的客户端

关于node.js - 使用 websocket 从数据库到客户端的实时数据更新/更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39699412/

相关文章:

javascript - 如何在用户发送消息时停止 'is typing'功能

javascript - 您如何处理在异步函数之间共享的变量的拼接?

javascript - 在服务器发送的 JavaScript 代码上安全使用 eval()

Node.js 在 app.post 之外获取响应

django - 在 Heroku 上部署 Django\Tornado

kubernetes - 通过Kubernetes的Azure Websocket连接,使用代码1006断开许多连接

node.js - nginx 上的代理传递 Socket.IO 连接不起作用

node.js - NodeJS - 带有空数据的流。怎么处理?

eclipse - toggleBreakpointsTargetFactory 指定的 id 已注册

mysql - Nodejs加密加密字符串存储在MySQL后无法正确解密