我正在开发包括可视化的Web应用程序 - 饼图,条形图,网格等。
注意:
应用包括
-
两种技术
nodejs
和golang
。 -
Nodejs 用于执行简单的操作、路由、验证等。
-
Golang 用于数据库连接、处理数据等。
架构/流程:
-
客户端(angularjs)将与服务器通信
nodejs
。 -
Nodejs
将使用socket.io
与服务器通信golang
以获取处理后的数据。 -
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包。