gpt4 book ai didi

javascript - 使用 NodeJS 和 Socket.io 的 CPU 密集型任务架构

转载 作者:行者123 更新时间:2023-12-02 16:17:01 24 4
gpt4 key购买 nike

我目前正在考虑一个 NodeJS 应用程序,我想在其中使用 socket.io 在多个客户端之间进行通信。

该应用程序将由数百个客户端组成,这些客户端都在谷歌地图上有一个位置。我希望服务器为每个客户端进行处理,这些客户端彼此之间的半径为 200 米。如果我在nodeJS中纯粹用javascript来完成这一切,这会给服务器带来巨大的负载,而且我担心这会导致服务器在处理这个巨大的任务时暂停所有其他任务,这将导致所有通信都被中断。当服务器执行 CPU 密集型任务时停止。

我的问题是,如何将 NodeJS 与 Socket.io 纯粹用于客户端之间的通信,并将 CPU 密集型任务移至其他地方,以便在服务器执行 CPU 密集型任务时客户端之间的通信不会停止?

提前致谢,请原谅我的英语!

布拉姆

最佳答案

考虑使用发布/订阅工作队列模型,其中socket.io服务器仅与客户端交互并将其数据保存到数据库(redis或其他),并且一个单独的工作进程集群将计算作业从队列中拉出,计算结果,并将它们写回,客户端服务器可以将它们传输到客户端。

关于javascript - 使用 NodeJS 和 Socket.io 的 CPU 密集型任务架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com