eclipse / microprofile-lra

microprofile-lra
Apache License 2.0
98 stars 30 forks source link

Transactional outbox in scope? #338

Open languitar opened 3 years ago

languitar commented 3 years ago

For reliable domain event emission synchronized with database transactions, the transactional outbox pattern is a common solution. In https://github.com/eclipse/microprofile-reactive-messaging/issues/117 I was directed towards this proposal, which might be a candidate for describing the required interfaces to realize such an outbox. So far, I can't find any explicit references to this pattern in the specification. Do you assume that implementations handle this internally or is reliable event transmission completely out of scope for this proposal?

xstefank commented 3 years ago

@languitar For version 1.0 which is going to be released in the following month we are staying with only the application level REST calls. This doesn't prohibit database interactions but they are expected to be handled by the user code.

The transactional outbox pattern integration is definitely an area that we can investigate. The integration with reactive messaging and events will be also investigated. We need to define what the relations between them should be and where the transactional outbox pattern would live.

gunnarmorling commented 3 years ago

Hey, Gunnar here from the Debezium team; I'm working on a PoC for implementing the Saga pattern based on top of the outbox pattern: https://github.com/debezium/debezium-examples/pull/140/. Perhaps it can serve as inspiration for this work here? Happy to exchange and discuss any details, if you're interested.

mmusgrov commented 3 years ago

Thanks Gunnar, we are interested and will be keen to discuss it with you and leverage your knowledge when we have finalised 1.0.