Search code examples
amazon-web-servicescachingmicroservicesaws-step-functions

Amazon States Language - Global and transaction cache


In a flow-based application development system, two levels of cache exist. First, a cache for the transaction that is currently triggered due to an input. This cache is destroyed as soon as transaction ends - either successfully or with a failure.

Second, a cache for all transactions that could possibly happen. This cache is created at the state machine start-up time and is destroyed at the termination of state machine.

It is a bit of an overhead to maintain a cache (with any of the Elastic Cache services) than having the state machine itself provide with such features. My earliest programming experience was with IBM CICS product and they have work areas at global (CWA) and at a transaction level (TWA). Not exactly a micro-services orchestration engine, but, definitely very handy in keeping track of transactions or the overall system itself.

Does AWS Step Functions have such features? Can state definitions help?


Solution

  • You can keep a bit of data in execution state (data) however it is limited to 32kB (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html).