Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to single-topic-per-workspace services #638

Closed
9 of 11 tasks
cortadocodes opened this issue Mar 20, 2024 · 0 comments · Fixed by #639
Closed
9 of 11 tasks

Switch to single-topic-per-workspace services #638

cortadocodes opened this issue Mar 20, 2024 · 0 comments · Fixed by #639
Assignees

Comments

@cortadocodes
Copy link
Member

cortadocodes commented Mar 20, 2024

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

  • Add/update attributes in event schema #634
  • Specify topic name in octue.yaml and/or get it from an environment variable (otherwise use a default)
  • Raise error if topic doesn't exist at Service instantiation time
  • Add new attributes to published events
  • Remove backwards compatibility for event attributes
  • Publish to single topic
  • Subscribe to single topic using a filtered subscription
  • Update tests and mocks
  • Test with octue example service
  • Remove internal_service_name from Child?
  • Remove service_id from Runner?
@cortadocodes cortadocodes self-assigned this Mar 20, 2024
@cortadocodes cortadocodes linked a pull request Mar 27, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant