云服务/ Node.js中的Web角色与工作者角色

bob*_*bby 5 azure node.js

Web角色(Node.js)和工作者角色(Node.js)之间的区别是什么?两者都可以在80端口上运行.两者的代码完全相同.我知道Web角色在IIS上运行,但是如果Node.js有自己的WebServer,我为什么需要IIS作为代理呢?

mok*_*oka 4

不同之处在于 Node Web Role 将通过 IIS 运行。但 Node Web Worker 是 VM,并通过 node.exe 本身作为集群工作线程运行。

这里的主要区别是您的虚拟主机和网络平台设置将取决于您选择的选项。如您所知,设置 IIS 与设置 Node.exe 本身有很大不同。
因此,使用 Web Role 它将通过 IIS 代理所有流量,而不是直接通过节点主进程。

缺点/优点:
Web Worker 的主要优点是它不依赖于任何堆栈,并且您可以完全控制其中运行的内容以及它如何影响您的应用程序。同样,如果您已经准备好了一些东西,那么您可以重复使用它,而不会出现大问题。
同时,您需要通过实施主节点流程然后自行分叉工作人员来自行管理堆栈。

使用Web Role时,您可以更快地启动,如果您对http平台设置没有任何复杂的了解,那么这是可行的方法,但是IIS和节点之间会有关系,并且这种关系具有依赖关系,并且可能会有点限制不过非常先进的案例。
您还可以重用依赖于 IIS 的 Windows Azure 云功能。

普通开发在技术上没有太大差异,除非您需要有关 Web 应用程序设置的非常具体的内容。