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

MongoDB push(ish) provider #27

Open
joaofbantunes opened this issue Dec 8, 2024 · 0 comments
Open

MongoDB push(ish) provider #27

joaofbantunes opened this issue Dec 8, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@joaofbantunes
Copy link
Member

joaofbantunes commented Dec 8, 2024

Did some experiments in this PoC, using MongoDB change streams.

Calling it push(ish) because I'm not relying solely on change streams, I'm using them as a trigger to poll the outbox. That's because change streams don't seem like the most trustworthy way to implement this, as they may have limitations on retention, depending on how the oplog is configured and whatnot.

Maybe later I might consider some more configurable version that relies only on change streams, but for a safe, even if less efficient, first approach, I'll go with being push enough.

To support multiple instances of an outbox producer, will reuse the work on a custom locking mechanism from #26 for leader election, as change streams send the same data to all subscribers.

Note: this implementation will be targeted at the simplest installation, with a single primary replica. More complex installations with multiple primary replicas, like sharding, are outside the scope of this work.

@joaofbantunes joaofbantunes added the enhancement New feature or request label Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: No status
Development

No branches or pull requests

1 participant