我是网络技术的初学者。在研究前端框架时,我知道我们为前端和后端服务器(API)运行单独的应用程序服务器。例如如果使用的是vue.js,则将为前端运行vue服务器,并且将分别运行另一台MEAN Stack API服务器。现在,我的应用程序将需要显示实时更新,我将不得不在浏览器和前端服务器之间使用websocket连接,这进一步需要与后端服务器(API)进行websocket / webhook连接。现在,我已经知道Websocket连接的可伸缩性和会话管理问题。在这种情况下,我应该如何构建应用程序以获得更好的可伸缩性和更少的复杂性?是否可以为前端和后端创建单片应用程序服务器?那会是一个不错的选择吗?
您可以在Nodejs中使用socket.io库。它简单易用,可通过引入Redis来处理可伸缩性和会话,
是否可以为前端和后端创建一个整体的应用程序服务器?那会是一个不错的选择吗?
那个选择很好;从简单开始,您将来可以进入微服务。除非这是用于大型生产系统!
如果使用诸如express之类的东西,则可以使用express.static
来提供Vue.js文件,使用express.Router()
实例来提供API端点,并为Websocket的Express实例附加ws
或socket.io
模块。
现在,我的应用程序需要显示实时更新,我必须在我的浏览器和前端服务器之间使用websocket连接进一步需要与我的后端服务器进行websocket / webhook连接
并非如此。您可以根据需要将前端(运行在浏览器中的应用程序)通过websocket直接连接到后端,而无需通过前端服务器进行代理。对于会话管理,请查看JWT令牌。