node.js - Express 中是否可以同时处理两个或多个请求?

标签 node.js express concurrency

我对这种情况很陌生。看,我正在构建一个基于快速后端和移动前端的 Restful 应用程序。有两种特定类型的用户,比如说客户和工作人员。客户可以向所有 worker 发送通知,说他正在寻找 worker ,因此,所有 worker 都会收到该通知,他们必须接受或拒绝它,但是,只有一个可以接受,假设最快按下“接受”按钮。所以,我有一个疑问,如果两个工作人员同时按下“接受”按钮并且他们被 express 接收(也同时),会发生什么?他们是同时处理的吗?或者 Node 是单线程的事实使得这种情况不可能发生?我只是想确定,由于上述原因,不可能将两个(或更多)工作人员分配给同一个客户。

我在互联网上搜索过这个,但我没有找到任何可以让我在这种情况下清醒头脑的东西。老实说,我不知道从哪里开始,所以,任何建议都被接受。我见过诸如 Node 队列管理器之类的东西(例如 Bull),但我认为它们不是这种情况的解决方案,但我也不确定这一点,我至少需要有人为我指出正确的方向解决方案。

谢谢!

最佳答案

使用zookeeper或异步锁https://www.npmjs.com/package/async-lock 。您最不想要的就是竞争条件。

关于node.js - Express 中是否可以同时处理两个或多个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163275/

相关文章:

html - 让 gulp-file-include 和 browser-sync 协同工作

javascript - Nodemon 重启运行 gulp 任务

javascript - 在我刷新页面之前,socket.io 输出是未定义的,然后它就会显示出来?

multithreading - ConcurrentBag<T> 中的 Parallel.ForEach 是线程安全的

node.js - tar EPERM : operation not permitted, future

javascript - 从另一个函数读取值的正确方法是什么?

node.js - User.destroy 不是一个函数

javascript - 如何快速通过护照认证

java - 增量操作的原子性

unit-testing - 单元测试并发软件 - 你做什么?