Azure Service Fabric和定时任务

4

假设您在Windows机器上有30多个控制台应用程序,可以手动调用或通过Windows计划任务调用,那么将它们移动到/实现在Service Fabric中的推荐方法是什么?

一种实现方式是作为一个Service Fabric应用程序,其中包含许多无状态服务(使用定时器/提醒的可靠演员),每个服务都监听Service Bus队列/主题,然后使用Azure Scheduler向队列/主题发送消息。

这种实现方式的优缺点是什么? 本文似乎列出了一些

还有其他实现方式吗?

似乎有些人试图倡导将发布/订阅框架包含在Service Fabric中,如果那成为Service Fabric的一部分,那是否是一种有效的选择?

2个回答

3
我建议您使用Azure Functions,这对于简单性和时尚的无服务器计算非常有用,意味着无需启动和配置总线或队列,然后使用无状态可靠的API服务,并让Azure定时函数直接调用无状态服务。请参考以下链接:https://azure.microsoft.com/en-us/services/functions/。这个视频展示了通过定时器和数据库清理完成HTTP调用的方法:Video

那看起来是一个有趣的选项。我会考虑一下的。 - CrnaStena

3
我喜欢你将控制台应用程序转换为actors并使用reminders的想法。但是,我认为没有必要使用服务总线或Azure调度程序。
我觉得您只需要在actors上公开几个API方法。第一个是创建/修改运行计划,第二个允许actor被手动/立即调用(同时保持基于回合的并发性)。Actor可以在内部存储其完整计划,但是它只需要计算下一次执行的时间,然后相应地设置reminder。
此外,请记住,actor reminder在所有情况下都会触发,而如果Service Fabric停止actor,则定时器会停止。

这是个好主意,但仍需要另一种调用API的方式,我认为这是使用Azure Scheduler的用例。 - CrnaStena

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接