当前位置: 首页 > 知识库问答 >
问题:

使用节奏/时间设计新项目时,我应该考虑什么?

鱼意远
2023-03-14

我是Cadence/Temporal的新手,想知道设计审查过程是什么样的。我的团队已经准备好进行正式的设计审查,但想知道是否有模板可以捕获Cadence/Temporal的特定信息?

共有1个答案

应和光
2023-03-14

这就是我试图称之为“面向工作流的架构”。我建议更多地考虑以下方面:

    < li >设计中“流程的哪一部分”的不同选项/备选方案可被建模为工作流。基于此, < ul > < li >哪个IDReusePolicy的工作流ID是什么?通常建议使用一些业务ID来保证唯一性,以便一个业务实体只有一个工作流在执行 < li >工作流程是如何启动的,输入参数是什么信息?
  • 常规/本地/长时间运行的活动用于对外部系统进行操作
  • 耐用计时器(使用workflow.Sleep或Workflow.Await)是等待一定的时间然后唤醒。与母语中使用睡眠不同,耐用计时器是可靠的,无论主机重新启动什么都不会影响触发
  • 信号是接收来自外部系统的事件
  • 查询是让外部系统获取一些工作流状态
  • 搜索属性可以做两件事:a)让应用程序使用ListWorkflow Executions API搜索具有某些条件的工作流,并让应用程序通过描述性工作流执行API获取基本状态
 类似资料:
  • 问题内容: 有什么区别?什么时候应该使用容量为1的对抗? 问题答案: SynchronousQueue更像是一个传递,而LinkedBlockingQueue仅允许单个元素。区别在于对SynchronousQueue的put()调用直到有相应的take()调用 才返回 ,但LinkedBlockingQueue的大小为1,则put()调用(对空队列)将立即返回。 我不能说自己曾经直接使用过Sync

  • 问题内容: 我对使用和翻译有疑问。我了解到,在模型中,我应该使用。但是还有其他地方我也应该使用吗?表单定义呢?它们之间是否存在性能差异? 编辑: 还有一件事。有时候,代替被使用。正如文档所述,仅在将字符串显示给用户之前,才将字符串标记为要翻译,并在可能的最新情况下进行翻译,但是我在这里有点困惑,这与功能相似吗?我仍然很难决定在模型和表格中应该使用哪个。 问题答案: ugettext() 与 uge

  • 有人能帮我了解以下情况吗?我有1个工人配置如下: 如果我将“最大当前工作流任务可执行文件大小”和“最大当前活动可执行文件大小”设置为 1024,则工作线程开始工作太慢。我认为增加这两个选项将有助于处理更多的活动和工作流任务,但它的工作方式不同。工作线程具有足够的 CPU/RAM,并且他根本没有过载。 从临时UI中,我能够捕捉到一些工作流在这样的历史状态下冻结了一段时间: 我还调整了这样的匹配参数:

  • 在当前的应用中,我们有三个服务: 发票 银行转账:调用外部API,这可能需要一分钟左右的时间,具体取决于队列 分类帐:创建借贷分类帐的内部微服务 为了沟通,我们有一个编配传奇。流程基本上使用发票作为协调器: 发票服务向Rabbitmq发布消息,要求支付发票X 银行转账服务监听消息,获取发票X 银行转账服务处理转账(调用银行的API)。付款成功时,向Rabbitmq发布“InVoice X已付款”的

  • 问题内容: 在考虑索引sql表之前应该有多少条记录? 问题答案: 创建表时,没有充分的理由放弃明显的索引(FK等)。在小型表上具有不必要的索引永远不会显着影响性能,因此,当您初衷是架构设计时,最好先切入一点。另外,某些索引用于防止重复,无论表大小如何,该索引都很有用。 我想对您的问题的正确答案是表中的记录数应该与何时创建索引无关。

  • 我正在尝试Flink对从CSV文件加载的(排序的)时间戳事件进行基本聚合。 我告诉Flink使用活动时间: 然后我在KeyedStream上使用一个时间窗口 问题是,将窗口更改为10分钟实际上会在该时间过后打印结果! 我的理解是,通过明确告诉Flink使用时间戳字段作为事件时间,操作将不依赖于机器上的实时性。我错过什么了吗?