我正在尝试迁移到Service Fabric现有解决方案。 其中一部分是侦听队列的工作者数量。 例如,我有一些队列:

Task1_Queue, Task2_Queue ... TaskN_Queue

对于每个队列,都有一些处理它们的消息的逻辑,比如说工人。 他们执行不同的任务,例如生成巨大的报告文件并上传到Azure Storage或在数据库中进行小的更新。

问题是如何设计服务以使工作人员具有良好的可伸缩性。 我的想法是:

选项1-每个队列将具有单独的无状态服务。 自动缩放单一服务的简便方法。

选项2-将工作人员实施为单独的参与者,并具有单个无状态服务来侦听队列和呼叫参与者。 优点-开箱即用,可以自动缩放,因为队列中的每个消息都会创建新的actor。 缺点-演员将是一次性的。

#1楼 票数:2 已采纳

考虑创建两种类型的无状态服务:

  1. 监视任务队列深度的服务。 该服务将根据排队任务的数量创建和删除服务2的实例。
  2. 处理排队作业的服务。

  ask by Vasyl Senko translate from so

未解决问题?本站智能推荐:

1回复

从.Net Core无状态服务中调用.Net框架Service Fabric Actor

参与者依赖于.Net Framework中编写的Nuget包。 接口项目以.Net标准编写,因此可以从.Net核心无状态服务中使用。 当我尝试从无状态服务中调用演员时,出现错误: 我尝试通过遵循来自Microsoft的侦听器升级教程来研究在actor上添加V2Listener,但
3回复

在服务结构应用程序中动态创建服务

这有点描述性,请耐心等待。 :) 在我尝试构建的应用程序中,产品具有独特的功能。 用户可以选择加入功能A,B,D,但不能选择加入C。我构建此功能的方式是,每个不同的功能都是服务(无状态,我正在考虑将数据存储在Azure SQL中数据库,并从每个服务公开REST API)。 将所有服务
1回复

为Service Fabric中的可靠Actor定义终结点(在内部设置中)

我要在内部设置Service Fabric集群,并定义一个可靠的Actor。 我已将应用程序发布到集群。 我在公开端点以便客户端可以使用方面面临困难。 我尝试在ServiceManifest中添加终结点并在本地部署群集。 但是,添加端点后,群集无法部署。 注意:我正在使用Ser
3回复

Azure:参与者调用中的“服务不存在”

我想调用一个IActor来进行一些简单的基于提醒的计算。 它的名称如下: 但是,无论何时调用SetupReminderAsync方法,我都会得到一个HRESULT: 0x80071BCD: Service does not exist异常。 我不确定这意味着什么,因为我可以清楚地看到
3回复

如何使用“演员提醒”机制在服务结构中安排任务?

我想每天、每周和每月生成发票,并希望定期发送发票。 每个客户都有不同的发票设置。
2回复

Service Fabric参与者中的静态对象

有一个具有以下定义的服务结构IRemindable通过实现IRemindable接口可以注册然后取消注册。 该演员也有一个静态字典。 我的理解是,如果每个参与者的GUID在实例化时都不同,那么服务结构将创建同一参与者的多个实例。 在创建每个actor实例时,提醒动作将一个对象添加到字
3回复

Service Fabric - 存储列表 在StateManager中为可靠的演员

我的一个用例需要在单个事件生成器的“start”和“stop”事件之间存储所有事件。 我们将使用可靠的演员来处理这些数据,并在收到“停止”事件后进行总结。 在start和stop之间存储所有事件的直接方式是List类型。 根据我的理解,每次我获取现有列表时,添加一个新项并存储新的更新
1回复

RunAsync中的Spawning actor抛出“接口id'1830616258'未由对象'CustomActorService.InternalCustomActorService'实现”

我在启动时遵循Service Fabric spawn actor中的建议,在服务启动时生成几个actor。 我有一个自定义的ActorService子类,其中包含以下RunAsync覆盖: 该类在Program.cs中注册如下: 但是,我收到以下异常调用proxy.Start