我正在将一个巨大的应用程序移植到 Windows Azure。它将有一个 Web 服务前端和一个处理后端。到目前为止,我认为我会使用 Web 角色来为客户端请求提供服务,并使用工作角色来进行后端处理。
管理两种角色似乎有问题——我需要决定如何扩展两种角色,而且我需要每个角色的几个(至少两个)实例来确保合理的容错性,这会稍微增加运营成本。同样在我的应用程序中,客户端请求是相当轻量级的,而后端处理是重量级的,所以我希望后端处理会比服务客户端请求消耗更多的处理能力。
这就是为什么我正在考虑对所有事情都使用 Web 角色 - 只需生成线程并在每个实例中都进行服务请求和后端处理。这将使角色更加复杂,但我想会简化管理。我将有更多的统一角色实例和更好的容错能力。
将 Web 角色重用于后端处理是个好主意吗?我应该期待什么缺点?