4

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

实现这一点的一种方法是作为一个具有许多无状态服务(Reliable Actor使用计时器/提醒)的 Service Fabric 应用程序,每个服务都侦听服务总线队列/主题,然后使用 Azure 调度程序将消息发送到队列/主题。

这种实施的利弊是什么?这篇文章似乎列出了其中的几个

还有什么其他方法可以实现这一点?

似乎有些人正试图提倡将pub/sub 框架包含到 Service Fabric 中,如果这成为 Service Fabric 的一部分,那将是一个有效的选择吗?

4

2 回答 2

3

我会考虑使用 Azure Functions,这对于简单和时尚的无服务器计算来说非常有用,这意味着无需启动和配置总线或队列,然后使用无状态可靠 API 服务并让 Azure 定时函数直接调用无状态服务.

请参阅此处开始:

https://azure.microsoft.com/en-us/services/functions/

此视频正在使用 db clean up 进行计时器,这不是 HTTP 调用。

视频

于 2016-09-13T18:49:20.213 回答
3

我喜欢您将控制台应用程序转换为演员并使用提醒的想法。但是,我认为不需要服务总线或 Azure 调度程序。

在我看来,您只需要在演员身上公开一些 API 方法。一个创建/修改运行计划,另一个允许手动/立即调用参与者(同时仍保持基于轮次的并发性)。演员可以在内部存储其完整的时间表,但它只需要计算一次执行的时间 - 并相应地设置提醒。

此外,请记住,在所有情况下都会触发参与者提醒,而如果 Service Fabric 停用参与者,则会停止计时器。

于 2016-09-15T06:19:20.317 回答