Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用WebSocket构建可伸缩的SPA,有多复杂?_Node.js_Vue.js_Websocket_Single Page Application - Fatal编程技术网

Node.js 使用WebSocket构建可伸缩的SPA,有多复杂?

Node.js 使用WebSocket构建可伸缩的SPA,有多复杂?,node.js,vue.js,websocket,single-page-application,Node.js,Vue.js,Websocket,Single Page Application,我是网络技术的初学者。在研究前端框架时,我了解到我们为前端和后端服务器(API)分别运行应用程序服务器。 e、 g.如果我使用vue.js,我将为前端运行一个vue服务器,并分别运行另一个MEAN stack API服务器。现在,我的应用程序将需要显示实时更新,我必须在浏览器和前端服务器之间使用websocket连接,这将进一步需要与后端服务器(API)的websocket/webhook连接。现在我已经意识到websocket连接的可伸缩性和会话管理问题。在这个场景中,我应该如何构建我的应用程

我是网络技术的初学者。在研究前端框架时,我了解到我们为前端和后端服务器(API)分别运行应用程序服务器。
e、 g.如果我使用vue.js,我将为前端运行一个vue服务器,并分别运行另一个MEAN stack API服务器。现在,我的应用程序将需要显示实时更新,我必须在浏览器和前端服务器之间使用websocket连接,这将进一步需要与后端服务器(API)的websocket/webhook连接。现在我已经意识到websocket连接的可伸缩性和会话管理问题。在这个场景中,我应该如何构建我的应用程序以获得更好的可伸缩性和更少的复杂性?是否可以为前端和后端创建单片应用程序服务器?这是一个好的选择吗?

您可以在Nodejs中找到socket.io库。它简单易用,可扩展性和会话可以通过引入Redis来处理

检查

是否可以为前端和后端创建单片应用程序服务器?这是个好选择吗

这个选择很好;从简单开始,你可以在将来进入微服务。除非这是一个大型生产系统

如果使用express之类的工具,则可以使用
express.static
、使用
express.Router()
实例的API端点,以及连接到WebSocket的express实例的
ws
socket.io
模块为Vue.js文件提供服务

现在我的应用程序需要显示实时更新,我必须 在我的浏览器和前端服务器之间使用websocket连接 此外,还需要与我的后端服务器建立websocket/webhook连接

事实并非如此。如果愿意,您可以让前端(在浏览器中运行的应用程序)通过websocket直接连接到后端,而无需通过前端服务器进行代理。对于会话管理,请查看JWT令牌