Make asynchronous event handling scalable and more flexible.
Overview
Switch to a single-topic-per-workspace infrastructure where all services in a workspace publish and subscribe to a single topic. Subscriptions are filtered to just the events that service requires. This opens up all kinds of ways of consuming events in a more efficient and scalable manner.
In our current specific use-case, this allows a single cloud function (the async events handler) to consume all events in a workspace and store them in BigQuery for later retrieval. Currently, we're blocked by cloud functions only being allowed one subscription while our service infrastructure necessitates a subscription per service.
Epic
End User Goal
Make asynchronous event handling scalable and more flexible.
Overview
Switch to a single-topic-per-workspace infrastructure where all services in a workspace publish and subscribe to a single topic. Subscriptions are filtered to just the events that service requires. This opens up all kinds of ways of consuming events in a more efficient and scalable manner.
In our current specific use-case, this allows a single cloud function (the async events handler) to consume all events in a workspace and store them in BigQuery for later retrieval. Currently, we're blocked by cloud functions only being allowed one subscription while our service infrastructure necessitates a subscription per service.
Contents
octue.yaml
and/or get it from an environment variable (otherwise use a default)Service
instantiation timeinternal_service_name
fromChild
?service_id
fromRunner
?