【发布时间】:2015-06-28 17:19:57
【问题描述】:
我正在研究重组我正在开发的应用程序,以找到一种可以降低成本并为我们提供更多可扩展性空间的方法。从本质上讲,该应用程序目前作为一个大型 Web 应用程序托管在 Azure 上,用户可以登录该应用程序,对存储在 Web 应用程序内存中的数据执行一些计算成本高昂的工作,然后最终注销。
在寻找另一种扩展方式时,一个想法是使用 Worker Roles。我们可以使用 Service Bus 将带有相关数据的消息传递给 Worker Role 实例,而不是在 Web 应用程序上进行处理,这目前需要我们使用相当昂贵的定价层,该实例将执行此处理并发回结果.
看起来最具成本效益的方法是为每个登录的用户创建一个工作角色的小实例,该实例将专门处理他们的请求(例如,使用以用户 ID),然后在用户会话结束时销毁。
我有代码来确定何时启动实例、如何来回传递这些消息以及何时关闭实例,但我很难找到任何允许我使用的方法或 API 调用的文档轻松做到这一点。我能找到的最接近删除实例的描述是 here,但我找不到任何可以创建它们的东西。
在 Azure 上启动和关闭实例的最佳方式是什么?我可以使用哪些替代方案?我也很高兴听到有关如何构建它的替代建议。
【问题讨论】: