如何在 Node.js 服务器上的多个客户端之间同步数据

Jos*_*osh 5 javascript json node.js data-synchronization

下图是我正在创建的 Web 应用程序的基本表示。

Node.js Web 应用程序示意图

应用程序的基本操作如下:

  1. 客户端从 node.js 服务器发送数据请求
  2. 服务器收到请求。
  3. 服务器从数据库中获取数据。
  4. 服务器将数据作为 JSON 字符串发送回客户端。
  5. 客户端接收数据将其存储为 JSON 对象并将其绑定到表。

这一切正常。我遇到的问题最好由以下情况表示。

  1. 客户端 1 到 4 都完成了上述步骤(即都有一个绑定到 JSON 对象的数据表)。
  2. 客户端 1 现在向服务器发送更新请求。
  3. 服务器收到请求。
  4. 服务器更新数据库。
  5. 服务器向客户端 1 发送响应,指示操作成功并更新绑定到表的 JSON 对象。
  6. 客户端 2 到 4 上显示的问题JSON 数据现在不再与数据库同步。

所以我的问题是如何将所有 4 个(或更多)客户端上的 JSON 数据与 Node.js 服务器上的数据库保持实时同步?

Fac*_*cca 4

简而言之,您需要的是在发生变化时通知客户。尝试寻找 websockets,网上有很多很好的教程。基本上,Websocket 是服务器和客户端之间的通信通道。您应该做的是向客户端发送有关已更改内容的通知,然后每个客户端应确定是否必须更新某些内容(并请求信息) 。

看看这个库: https: //www.npmjs.com/package/websocket

我认为它是最好的之一(如果它不是最好的),您甚至可以找到示例和演示。