1

I am new to Cadence/Temporal and was wondering what the design review process is like. My team is ready to have a formal design review out but was wondering if there is a template available to capture Cadence/Temporal specific information?

Long Quanzheng
  • 2,076
  • 1
  • 10
  • 22

1 Answers1

1

This is something I try to call as "workflow-oriented-architecture". I would suggest to think more about the below aspects:

  • Different options/alternatives of “what part of the process” in the design that can be modeled as workflow. Based on that,
    • What will be the workflowID with which IDReusePolicy? It's usually recommended to use some business ID to guarantee the uniqueness so that there is only one workflow executing for a business entity
    • How is the Workflow started with what information as input parameters?
  • What Cadence/Temporal concepts you are planning to use, and how does a workflow interact with other system?
    • Regular/local/long-running activity is for making an action to external system
    • Durable timer (use workflow.Sleep or Workflow.Await) is to wait for certain time then wake up. Unlike using sleep in native language, durable timer is reliable that whatever host restart won't impact the firing
    • signal is to receive an event from external system
    • query is to let external system to get some workflow states
    • search attributes can do two things: a) letting application searching for workflows with some conditions using ListWorkflowExecutions API, and letting application to get the basic status by DescribeWorkflowExecution API
  • How do you handle failure, especially using Cadence/Temporal concepts: activityRetry, workflowRetry, reset
Long Quanzheng
  • 2,076
  • 1
  • 10
  • 22