【发布时间】:2014-01-09 21:12:26
【问题描述】:
Web Role (Node.js) 和 Worker Role (Node.js) 之间有什么区别?两者都可以在 80 端口上运行。两者的代码相同。我知道 Web Role 在 IIS 上运行,但是如果 Node.js 有自己的 WebServer,为什么我需要 IIS 作为代理?
【问题讨论】:
Web Role (Node.js) 和 Worker Role (Node.js) 之间有什么区别?两者都可以在 80 端口上运行。两者的代码相同。我知道 Web Role 在 IIS 上运行,但是如果 Node.js 有自己的 WebServer,为什么我需要 IIS 作为代理?
【问题讨论】:
不同之处在于 Node Web Role 将通过 IIS 运行。但是 Node Web Worker 是 VM,通过 node.exe 运行,它自己作为集群工作者。
这里的主要区别在于您的虚拟主机和网络平台设置将取决于您选择的选项。如您所知,设置 IIS 与 node.exe 非常不同。
因此,使用 Web 角色,它将通过 IIS 代理所有流量,而不是直接通过节点主进程。
缺点/优点:
Web Worker 的主要优点是它不依赖于任何堆栈,并且您可以完全控制在那里运行的内容以及它如何影响您的应用程序。同样,如果您已经准备好某些东西,则可以毫无问题地重复使用它。
同时,您需要自己管理堆栈,方法是实现主节点进程,然后自行派生工作人员。
使用 Web Role 可以更快地启动,如果你对 http 平台的设置没有什么复杂的,这是要走的路,但是 IIS 和 node 之间会有关系,这种关系有依赖关系,可能有点不过,在非常高级的情况下会有所限制。
而且您可以重用依赖 IIS 的 Windows Azure 云功能。
普通开发在技术上没有太大区别,除非您需要一些关于您的 Web 应用程序设置的非常具体的内容。
【讨论】: