首页 > 解决方案 > 如何为多用户应用程序构建 node.js / react.js 后端

问题描述

嘿伙计们,这些年来我终于可以进入 node.js 和 react.js 了,所以我是一个完全的初学者。

我的第一个项目是将用于我们生产的时间预订系统从当前的 Qt C++ 应用程序迁移到 Web 应用程序。

此时最大的问题是决定如何构建后端。

应用程序需要在客户端之间通过全双工通信来处理多个并发用户。

关闭示例将是像 Trello 这样的系统。所以一个协作系统,多个用户能够移动任务。一旦用户将任务从一个位置移动到另一个位置,我必须立即为每个当前登录的用户重新组织任务。所以我可以保证每个人在任何时候都是最新的。

您将如何构建它以及哪些库最适合这种情况?

我希望你明白我想说什么。

打招呼

标签: node.jsreactjs

解决方案


使用 websocket 保持服务器和客户端的联系。为防止操作冲突,您需要

  1. 当用户开始编辑/移动时锁定任务/资源,并通知其他客户端它已被锁定。
  2. 将结果写入 db/nosql。
  3. 通知所有其他用户客户端更改结果并获得 ACK 响应。
  4. 释放锁并通知所有客户端。

为了使过程顺利进行,在获得第一个 ACK​​ 时释放锁。带有时间戳(单调时间)的更改日志可能有助于防止冲突。

此外,Electron(基于 NodeJs)适用于构建客户端作为 Qt 的替代方案。


推荐阅读