首页 文章

Azure WorkerRoles中的Windows服务

提问于
浏览
2

将Windows服务移植到Azure的既定最佳实践是什么?是应该将其更改为辅助角色还是移入VM角色?还有其他选择吗?假设我的服务写入外部持久性源(MSMQ,数据库,WCF)而不是直接写入文件系统 .

3 回答

  • 0

    将VM服务转换为工作者角色比使用VM角色要好得多 . VM角色旨在容纳需要复杂的不可自动安装过程的应用程序 . 它们也是一个更大的难点,您希望尽可能远离VM角色 . 如果您能找到通过Worker-Roles自动部署现有Windows服务的方法,那么这绝对是您的选择 .

    您还可以查看HPC角色,并根据本地/场外和加载/计算要求,将Azure计算机添加到HPC群集可能会带来好处 .

    所有类型的角色(Web /工作人员/ VM / HPC)都是无状态的,并且需要能够根据需要从头开始启动或拆除 . 所有类型的角色都是为了一次运行多个VM实例 .

    HTH

  • 2

    我不久前写了一篇关于这篇文章的博文 . 是这里:

    http://blogs.msdn.com/b/golive/archive/2011/02/11/installing-a-windows-service-in-a-worker-role.aspx

    请注意,Windows服务不会直接与结构控制器通信,因此您需要定期ping它以检查运行状况,然后根据需要采取重新操作 .

    将Windows服务置于工作者或Web角色是公认的做法 . 使用VM角色的主要原因是需要进行大量(> 10分钟)设置 . 我的博客文章详细介绍了如何安装您的服务 .

    当然,如果您想将代码移动到辅助角色,那也没关系 . 在这种情况下,您不需要任何特殊步骤来确保结构控制器了解其运行状况 .

    如果成本是一个问题,将功能组合到web / worker也是公认的做法 . 而且,您可以通过不对代码进行处理来将其保存到Web / worker中 .

  • -1

    Azure具有一种特殊类型的Web角色,称为“WCF服务Web角色”,它对应于Windows WCF服务 . 这是迁移现有服务的一个好点 . 理想情况下,迁移之后应该利用Azure特定功能,例如使用队列和工作角色来最大化性能和可伸缩性 .

相关问题