在Windows Azure上使用Socket.io扩展Node.js
我跟着“构buildNode.js聊天应用程序…”的post,一步一步展示如何使用Socket.io部署Node.js应用程序,以提供实时聊天的web应用程序。
唯一缺less的是展示如何扩展这个应用程序,因为我发现在Windows Azure上缩放这样的应用程序并不是那么简单,因为Azure LB只支持轮循机制策略。
我find了socket.io-servicebus ,它为pub / sub存储的需求提供了一些解决scheme。 但是这还不够,因为Socket.io在握手阶段#952中有一个已知的错误,这意味着没有粘性会话握手阶段不能工作。
有任何想法吗?
免责声明:我没有试过这个。
回到云服务支持节点的第一个版本。 为了避免iisnode,我经常在工作者angular色而不是webangular色中运行节点。 这在当时是必需的,因为Windows Server 2008 R2根本不支持websocket。 所以为了在节点上使用socket.io,就是这个方法。 现在Windows Server 2012已经可用了,我们现在不再这样做了。
鉴于此,有两个工具可用于OSangular色2( SessionAffinity )和osfamily 3( SessionAffinity4 ),以启用辅助angular色(显式不是Webangular色)中的粘性会话。 这可以满足您的需要,但是要在部署和本地testing(如果使用模拟器)方面稍微复杂一些。
我的客户端运行SignalR和在Windows Azure中运行的服务总线背板。 所以我可以validation这一套选项。 但是我没有运行SessionAffinity插件。
还值得注意的是,Windows Azure WebSites默认使用ARR来引入会话关联。 只有当您不受云服务的约束时才会这样做。 ( 链接 )
- 如何在Visual Studio Online中将node.js应用程序部署到Azure?
- Azure移动服务 – 获取更多用户信息
- Azure中的SQL Query DocumentDB由整数不起作用的函数
- 本地testingAzure Mobile Auth – 无效的jwt签名
- azurestorage和NodeJS中的getaddrinfo错误
- Bot在本地工作,但对Bot服务没有反应
- 处理消息队列和使用asynchronous
- 接收和解释hex数据时发生内容types为application / octet-stream错误
- 为什么在Visual Studio for Azure中的node.js服务器的创build方式不同?