Replies: 7 comments
-
The issue is that there are too many different messaging protocols, load balancers and service discovery mechanisms. I wouldn't want to introduce more. All the support is there to wire into yours, though. I'll outline how ours works, as an example. First, you need #260, so LGTM. Our load balancer (Nomad) gives each registered service its own DNS name, e.g. We define a REST endpoint like this:
Which takes a
Where Then create your own
Works solidly in production (in fact, once we put this live we ended up DOSing the DB with the volume before we tuned everything else 😊) |
Beta Was this translation helpful? Give feedback.
-
@tsg21 - I've updated the README on my PR to provide more information on this: https://github.com/gruelbox/transaction-outbox/blob/fix-236/README.md#clustering |
Beta Was this translation helpful? Give feedback.
-
This has now been merged so you should be good to give it a whirl 👍🏻 |
Beta Was this translation helpful? Give feedback.
-
I will do that... |
Beta Was this translation helpful? Give feedback.
-
We now use this in production backed by AWS SQS it and it works extremely reliably, with queues of over 50k items. I would in principle like to contribute the code to the project but it mashes together Spring and AWS SQS support. I think for it to fit into the modular structure of the project I would need to decouple the code from Spring, which would require a re-write. Is there any interest in this? |
Beta Was this translation helpful? Give feedback.
-
Very interested indeed @tsg21 . |
Beta Was this translation helpful? Give feedback.
-
Something you're likely to have time for, @tsg21 ? |
Beta Was this translation helpful? Give feedback.
-
The README states:
I do, in fact, have that exact requirement but I don't see how to achieve that with the
TransactionOutbox
API as it stands. How is it supported?I think you might argue that this functionality is outside the scope of this library, but transaction-outbox is very close to supporting this. All I think it needs is a way to
schedule
a work item for asynchronous processing by the background thread(s), and not immediate execution in a post-commit hook. This could be done by adding an extra flag toParameterizedScheduleBuilder
.Is this a feature you would consider adding? I might be able to spin up a PR if so.
Beta Was this translation helpful? Give feedback.
All reactions