-
-
Notifications
You must be signed in to change notification settings - Fork 4
MongoDB push(ish) provider #27
Copy link
Copy link
Open
Labels
area-nice-to-haveIssues are nice to haves to consider adding to OutboxKitIssues are nice to haves to consider adding to OutboxKitenhancementNew feature or requestNew feature or request
Description
Activity
Metadata
Metadata
Assignees
Labels
area-nice-to-haveIssues are nice to haves to consider adding to OutboxKitIssues are nice to haves to consider adding to OutboxKitenhancementNew feature or requestNew feature or request
Type
Projects
- StatusShow more project fieldsNo status
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.