Translations:NPM module - izara-middleware/75/en
Jump to navigation
Jump to search
- Is a list of services waiting for a response within a single process
- A new entry is added to the requestServices list manually by main logic when a service will be wanting a response, some intermediary Lambda's may not need to be added to the list
- Functions as a LIFO list
- Best type would be an array where we can use push/pop methods, not sure correlation ids middleware can handle this, might need to stringify then parse array
- A service can add a different service's Lambda to the list, eg one service might add a different service to receive the response
- A service could add multiple entries to the list
- When a message is added to a topic, middleware checks to see if there are any entries in the requestServices correlation id, if there are it adds a requestService message attribute to the message, this can be filtered by subsciptions so only that service receives the message
- Only when adding to an Out queue, because if a Lambda adds eg to an In queue it is not considered an activity that is passing a result back to another service.
- We could have a special wrapper function for adding messages to a services Out queue that does this, rather than coding it into the SNS service request code
- When the Out message adds the requestService to message attributes, also pop it off the requestServices correlation id that gets passed on
- Maybe can remove from Dynamo __context__ field, but if we ever use Dynamo Streams will probably want to keep it