【问题标题】:Deploy a self-hosted SignalR backend to Azure将自托管 SignalR 后端部署到 Azure
【发布时间】:2016-11-02 21:41:09
【问题描述】:

我制作了一个具有以下架构的 Web 应用程序:

一个 React.js 前端(只有客户端 javascript,没有 Node.js 服务器)

C# 控制台应用程序中的 SignalR 自托管后端

我想将我的设置部署到 Azure,但我是 Azure 的新手。

按照this one 之类的教程,我应该可以很好地部署前端

但我找不到任何有关部署 SignalR 自托管后端的资源。

我发现一些资源讨论了托管在 Azure 上的 IIS 中的 ASP.NET MVC SignalR Web 应用程序,但不是关于自托管的。

我应该为我的后端使用应用服务吗?有什么注意事项吗?

谢谢你给我的启发

【问题讨论】:

  • 我应该为我的后端使用应用服务吗?” - 对此没有正确答案。应用服务是一种托管服务解决方案。还有网络/工作者角色云服务、虚拟机……还有很多在角色实例和虚拟机中托管/运行软件的方法。这完全取决于您正在寻找哪些功能。
  • @DavidMakogon 哪种方法最适合我的自托管 SignalR 后端服务?我不想在 IIS 中运行它,我希望它具有很强的可扩展性,因为我可能需要同时管理数千个 websocket 连接
  • 没有“最合适的”。
  • @DavidMakogon 你的回复真的没有帮助你知道,有什么意义。
  • 叹息。我的观点是这个问题在这里不起作用,因为没有最佳答案。如果您需要我的建议:请访问 azure.com 并查看在 Azure 中运行应用程序的不同方式:应用程序服务(网站)、云服务(为您管理的 Windows 虚拟机)、虚拟机(您自己管理的虚拟机) .看看他们是关于什么的。然后做出合乎逻辑的选择,或者问一个更具体的问题。 StackOverflow 不是讨论区,这个问题需要讨论。

标签: c# .net azure


【解决方案1】:

您可以在 IIS 上托管您的 SignlarR,但这并不是最佳性能。

不在 IIS 中托管的原因包括:

IIS 不可用或不可取的环境,例如 没有 IIS 的现有服务器场。 IIS 的性能开销 需要避免。 SignalR 功能将被添加到 在 Windows 服务、Azure 辅助角色中运行的现有应用程序, 或其他过程。

在 Azure 中你可以运行它,例如:

应用服务 (read more).

Windows 服务exampleread more)。

工人角色 (read more)

【讨论】:

  • 这并不准确。您可以通过多种方式运行它,而不仅仅是描述的方式。
  • 我同意我不想想在 IIS 中运行它,这就是我自托管它的原因。在我的开发机器上,它作为 Windows 服务运行,但我应该如何在 Azure 中托管这个程序?
  • @ibiza 我最好将您的 Windows 服务转换为 Worker 角色。
  • @Rikard 谢谢,辅助角色是托管在 Azure 上的云服务中,而不是托管在应用服务中吗?我认为应用服务比云服务更容易维护(在部署、可扩展性方面......)
  • 是的,然后是云服务:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
相关资源
最近更新 更多