使用 socket.io 连接nodejs服务器和golang服务器的缺点是什么?



我正在开发包括可视化的Web应用程序 - 饼图,条形图,网格等。

注意:

应用包括

  1. 两种技术nodejsgolang

  2. Nodejs 用于执行简单的操作、路由、验证等。

  3. Golang 用于数据库连接、处理数据等。

架构/流程:

  1. 客户端(angularjs)将与服务器通信nodejs

  2. Nodejs将使用socket.io与服务器通信golang以获取处理后的数据。

  3. Nodejs 将在从 golang 获取处理后的数据后响应客户端。

这是我的问题

在这种情况下使用 socket.io 有什么缺点吗?

任何建议或想法将不胜感激。

这主要是一个基于意见的问题,但我可以看到一些缺点。

Socket.io 是一种旨在统一浏览器和服务器之间通信的解决方案。实现高度动态的网站很有用,并隐藏了浏览器或多或少支持的不同底层解决方案/协议(websockets,长轮询等)。

并不是真正设计用于在两台服务器之间进行通信,即使它也可能用于此目的。由于您可以开发节点.js和 Go 服务器,因此只需为此选择合适的协议即可。您不必将其包装成 socket.io 等图层。

Go 支持通过第三方库 socket.io,例如:https://github.com/googollee/go-socket.io

这是您必须为应用程序处理的额外依赖项。

如果你在同一台机器上有节点和go应用程序,请考虑使用unix套接字,https://www.npmjs.com/package/socket-model 这里的npm包。

最新更新