我们目前有一个窗口服务,它在对数据库(SQL数据库)进行一些处理后向用户发送一些通知电子邮件 . 每天运行一次 .
我们想在天蓝 Cloud 上移动它 . 一种替代方法是将其按原样放在Azure VM上 . 但我找到了其他最好的解决方案 .
我研究重复和按需Web工作,但我不确定这是最好的解决方案 . 还有可能更新App.config中的服务代码配置,而无需在 Cloud 上重新部署服务代码 . 我的意思是我们可以从Azure门户管理配置 .
提前致谢 .
Update 11/4/2016
自编写本文以来,Azure中有两个额外的功能,这两个功能都是很好的选择,具体取决于您需要的功能:
Azure Functions(基于下面描述的WebJobs):无服务器代码,可以通过各种方式触发/调用,并具有扩展支持 .
Azure Service Fabric:微服务平台,支持actor模型,有状态和无状态服务 .
你有3个基本选择:
在VM上运行的Windows服务
WebJob
Cloud 服务
关于这些选择之间的权衡,有很多信息,但这里有一个简短的总结 .
VM - 优点:您可以基本上按原样移动服务,而无需更改太多或任何代码 . 它们还具有与Azure中其他资源(blob存储,虚拟网络等)的最简单连接 . 缺点是您放弃了所有PaaS优势,仍然无法管理自己的VM基础架构
WebJob - 优点:多个调用选项(队列,blob,手动,队列接收循环,连续循环样式等),已安排(将覆盖您的情况) . 易于部署(可以通过网站,作为控制台应用程序,通过Kudu自动执行),在Azure门户中有一些内置的日志记录 - 是的,为了回答您的问题,您可以更改门户网站本身的配置以获取连接字符串和应用程序设置 .
缺点 - 您需要更新代码,您无法访问底层资源(如果您需要),并且需要记住更多的东西而不是缺点 - 它使用与部署的Web应用程序相同的资源 .
Web Jobs是最新的选项,但同时似乎正在积极开发以增加功能和实用性 .
Cloud Service - 类似于托管VM,具有一些部署选项,如果需要,可以访问底层VM . 需要从现有服务进行一些代码更改 .
你在用例中没有提到任何让我认为Web作业不应该是你尝试的第一件事 .
(编辑:特洛伊亨特有一个伟大的,相对较新的博客文章,说明我上面提到的关于网络工作的大多数观点:http://www.troyhunt.com/2015/01/azure-webjobs-are-awesome-and-you.html)
1 回答
Update 11/4/2016
自编写本文以来,Azure中有两个额外的功能,这两个功能都是很好的选择,具体取决于您需要的功能:
Azure Functions(基于下面描述的WebJobs):无服务器代码,可以通过各种方式触发/调用,并具有扩展支持 .
Azure Service Fabric:微服务平台,支持actor模型,有状态和无状态服务 .
你有3个基本选择:
在VM上运行的Windows服务
WebJob
Cloud 服务
关于这些选择之间的权衡,有很多信息,但这里有一个简短的总结 .
VM - 优点:您可以基本上按原样移动服务,而无需更改太多或任何代码 . 它们还具有与Azure中其他资源(blob存储,虚拟网络等)的最简单连接 . 缺点是您放弃了所有PaaS优势,仍然无法管理自己的VM基础架构
WebJob - 优点:多个调用选项(队列,blob,手动,队列接收循环,连续循环样式等),已安排(将覆盖您的情况) . 易于部署(可以通过网站,作为控制台应用程序,通过Kudu自动执行),在Azure门户中有一些内置的日志记录 - 是的,为了回答您的问题,您可以更改门户网站本身的配置以获取连接字符串和应用程序设置 .
缺点 - 您需要更新代码,您无法访问底层资源(如果您需要),并且需要记住更多的东西而不是缺点 - 它使用与部署的Web应用程序相同的资源 .
Web Jobs是最新的选项,但同时似乎正在积极开发以增加功能和实用性 .
Cloud Service - 类似于托管VM,具有一些部署选项,如果需要,可以访问底层VM . 需要从现有服务进行一些代码更改 .
你在用例中没有提到任何让我认为Web作业不应该是你尝试的第一件事 .
(编辑:特洛伊亨特有一个伟大的,相对较新的博客文章,说明我上面提到的关于网络工作的大多数观点:http://www.troyhunt.com/2015/01/azure-webjobs-are-awesome-and-you.html)