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

Decoupled, transactional communication of domain events and commands #3493

Open
fkromer opened this issue May 14, 2024 · 0 comments
Open

Decoupled, transactional communication of domain events and commands #3493

fkromer opened this issue May 14, 2024 · 0 comments
Labels
Enhancement This is a new feature or request

Comments

@fkromer
Copy link

fkromer commented May 14, 2024

Summary

In applications using a domain driven design (DDD) approach events and commands should be communicated using a decoupled mechanism. In most cases this is achieved by using a message broker. If a business transaction relates to different bounded contexts/domains it can span different "domain services" each having their own data persistence. As a consequence communication needs to be transactional as well. Transactional communication can be achieved by several design patterns (each having own benefits and drawbacks).

Design patterns:

Exemplary transport backend alternatives:

  • MassTransit transports: RabbitMQ / Azure Service Bus / Amazon SQS / ActiveMQ / gRPC / in memory / Kafka / SQL

Example implementations:

Basic Example

No response

Drawbacks and Impact

No response

Unresolved questions

No response


Note

While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.

Check out all issues funded or available for funding on our Polar.sh dashboard

  • If you would like to see an issue prioritized, make a pledge towards it!
  • We receive the pledge once the issue is completed & verified
  • This, along with engagement in the community, helps us know which features are a priority to our users.
Fund with Polar
@fkromer fkromer added the Enhancement This is a new feature or request label May 14, 2024
@fkromer fkromer changed the title Decoupled communication of domain events and commands Decoupled, transactional communication of domain events and commands May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement This is a new feature or request
Projects
None yet
Development

No branches or pull requests

1 participant