Event journal tables record the creating and updating of resources. Each of the following resources have a dedicated event journal table:
accounts
account updates
flags
restriction sets
payment devices
payment device links
plan updates
The event orchestrators and journal pollers provide guaranteed delivery capabilities for the service, as they track what has been streamed out and would eventually publish all unprocessed events.
Almost all resource events are produced for the purpose of being streamed out publicly. Account Updates and Plan Updates are also produced to the vault.core.accounts.account_processor.events topic to be used for processing.
If eager publishing is enabled, the events are published directly by vault-account. If eager publishing is disabled or it misses any events, then these events are handled by the journal poller and event orchestrator to ensure guaranteed delivery.
Guaranteed delivery of account updates is provided by the account-events-orchestratorand account-journal-poller. For plan updates it is provided by the plan-events-orchestrator and plan-journal-poller. vault-account-processor thus relies on these microservices to ensure that it will receive and process all account updates and plan updates.