如何有效使用Worker、WorkflowClient

How to effectively use Worker, WorkflowClient

产品用例 - 我们的产品有一个典型的用例,我们将没有 n 个用户。每个用户将有 n 个工作流,每个工作流可以 运行 在任何时间(n of time)。

我希望这是任何工作流产品的典型用例。

我可以使用域来区分用户吗(我的意思是说为每个用户创建一个域)?

我可以为每个用户创建一个 WorkflowClient 来服务于他的所有工作流执行吗?或者我需要为每个请求创建一个 WorkflowClient 吗?哪个是推荐的方法?

创建 Worker 对象以轮询任务列表的推荐方法是什么?

如果我问了一些毫无意义的问题,请不要误会

can I use a domain to differentiate users (I mean to say that creating a domain per user)?

是的,特别是当这些用户在不同的团队或产品中工作时,使用不同的域将避免workflowName/IDs彼此冲突,并分配独立数量的配额来管理流量。

Can I create one WorkflowClient per user to serve all his workflow executions? Or for each request should I need to create one WorkflowClient? which one is a recommended approach?

每个域使用一个 WorkflowClient,但让同一实例上的所有 WorkflowClient 共享相同的 TChannelService 以保存 TCP 连接。

我会从所有用户的单个名称空间(域)开始。除非您的用户直接操作他们的工作流实现,否则使用多个命名空间不会给您带来太多好处。