Amazon SWF ActivityWorker - workerForCommonTaskList 与 workerForHostSpecificTaskList

Amazon SWF ActivityWorker - workerForCommonTaskList vs workerForHostSpecificTaskList

在 Amazon SWF 中,以下类型的 ActivityWorker 之间有何区别 - workerForCommonTaskList 与 workerForHostSpecificTaskList。这是否意味着 workerForHostSpecificTaskList 从列表中选取任务,这些任务将在 ActivityWorker 所在的主机上执行 运行?如果是这样,如何将任务添加到这样的列表中?

任务列表本质上是一个队列。 SWF 支持无限数量的任务列表,它们是按需创建的,无需显式注册。由应用程序决定有多少工作人员从任务列表中消费。常见的设计模式是有一个 通用任务列表 每个主机上的工作人员都会监听,并且每个主机(或 mesos 或cubernetis 任务甚至流程实例)。然后 activity 任务之一被分派到公共任务列表 returns 主机特定任务列表名称,然后可以将活动安排到主机特定任务列表以路由 activity 执行特定主机。

如何将 activity 安排到特定任务列表是特定于客户端库的。在 Java AWS Flow 框架中,它是通过将其传递给 ActivitySchedulingOptions 结构来完成的,该结构可以作为附加参数传递给 activity 调用。 请参阅演示此类路由的 fileprocessing sample

顺便说一句,您是否看过 Cadence,它是 SWF 的开源替代品,正在积极开发并且比 SWF 具有更多的功能范围?