重用Azure Web角色进行后端处理是一个好主意吗?

sha*_*oth 6 windows cloud azure azure-web-roles

我正在向Windows Azure移植一个巨大的应用程序.它将具有Web服务前端和处理后端.到目前为止,我认为我将使用Web角色为后端处理服务客户端请求和工作者角色.

管理两种角色似乎有问题 - 我需要决定如何扩展两种角色,我还需要几个(至少两个)实例来确保合理的容错,这会略微增加运营成本.同样在我的应用程序中,客户端请求相当轻量级,后端处理是重量级的,因此我预计后端处理将比服务客户端请求消耗更多的处理能力.

这就是为什么我正在考虑将Web角色用于所有事情 - 只是生成线程并在每个实例中同时执行服务请求和后端处理.这将使角色更复杂,但我猜想简化管理.我会有更多的统一角色和更好的容错能力.

重用Web角色进行后端处理是一个好主意吗?我应该期待哪些缺点?

Dav*_*gon 4

听起来您已经很清楚在使用多个角色时要考虑什么:

  • 2 个实例满足 SLA 的成本(尽管如果最终用户看不到影响,某些后台任务实际上不需要 SLA)
  • 单独的比例单位

但是:如果您在一个角色中运行所有内容,那么所有内容都会一起扩展。例如,如果您在端口 8000 上有一个管理网站,并且您的用户群通过流量猛烈地攻击端口 80 上的主站点,那么您可能会难以访问该网站。

我在博客中介绍了如何结合网络角色和辅助角色,在这里,它对我们在这里讨论的内容进行了更详细的介绍。此外,截至 3 月份的某个时间,每个角色 5 个端点的限制已取消 - 请参阅我的博客文章,了解现在可以将端点推送到多远。拥有这种限制较少的端点模型确实为单角色部署开辟了新的可能性。