【问题标题】:What is the disadvantage of using socket.io to conenct nodejs server and golang server?使用socket.io连接node js服务器和golang服务器有什么缺点?
【发布时间】:2015-02-06 15:13:49
【问题描述】:

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

注意:

应用包括

  1. nodejsgolang 两种技术。

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

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

架构/流程:

  1. Client(angularjs) 将与nodejs 服务器通信。

  2. Nodejs 将使用socket.iogolang 服务器对话以获取处理后的数据。

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

这是我的问题

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

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

【问题讨论】:

  • 你考虑过http吗?似乎一个简单的 REST API 就足够了。

标签: node.js go socket.io


【解决方案1】:

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

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

它并不是真正设计用于两台服务器之间的通信,即使它也可能用于此目的。由于您可以开发 node.js 和 Go 服务器,因此只需为此选择适当的协议。您不必将其包装到诸如 socket.io 之类的层中。

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

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

【讨论】:

  • 感谢您的信息。任何关于选择在 nodejs 和 golang 之间通信的协议的建议。
  • Go 带有 JSON-RPC 实现。 Node.js 有一些很好的 JSON-RPC 实现,所以我会尝试使用它们。例如:github.com/tedeh/jayson
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 2015-05-20
    • 1970-01-01
    • 2022-06-20
    • 1970-01-01
    • 2012-12-29
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多