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

Outbox pattern #117

Open
tjementum opened this issue May 20, 2023 · 3 comments
Open

Outbox pattern #117

tjementum opened this issue May 20, 2023 · 3 comments
Labels
Roadmap This is a big roadmap item

Comments

@tjementum
Copy link
Member

tjementum commented May 20, 2023

Tasks

No tasks being tracked yet.
@tjementum tjementum added the Enhancement New feature or request label May 20, 2023
@tjementum tjementum moved this to 🔖 Ready in Kanban board May 20, 2023
@tjementum tjementum self-assigned this May 20, 2023
@tjementum tjementum changed the title Integration Events and outbox pattern Set up Integration Events and outbox pattern May 20, 2023
@tjementum tjementum changed the title Set up Integration Events and outbox pattern Outbox pattern Jun 26, 2023
@tjementum tjementum moved this to Later in Roadmap Jun 26, 2023
@tjementum tjementum added this to the 🐥 PlatformPlatform Beta milestone Jun 26, 2023
@tjementum tjementum added Roadmap This is a big roadmap item and removed Enhancement New feature or request labels Jun 26, 2023
@tjementum tjementum removed this from Kanban board Jun 29, 2023
@tjementum tjementum removed their assignment Aug 3, 2023
@ayuksekkaya
Copy link

Hello,

Is there any work being done on this topic? Have there been any decisions as to what to use for inter module communication? Given this repo is Azure heavy, would Azure service bus be the default?

@tjementum
Copy link
Member Author

Hello,

Is there any work being done on this topic? Have there been any decisions as to what to use for inter module communication? Given this repo is Azure heavy, would Azure service bus be the default?

Hi @ayuksekkaya

It will for sure be Azure Service Bus, and likely MassTransit for the .NET library. It's the only Azure Server that is listed that is not yet "implemented".

And for localhost, the plan is to use the new Azure Service Bus Emulator. It looks like there might be direct support for Aspire coming just around the corner: dotnet/aspire#6737.

I would be happy to jump on a call and hear more about your needs and setup.

@ayuksekkaya
Copy link

@tjementum ,

Yes MassTransit makes perfect sense.

I don't have any needs per se. I have been mostly studying and learning a lot from your code actually. And I wanted to see if I can contribute something as well. I was thinking maybe I can try working on some part of the integration events. I don't see a "tasks" list for this, so I wanted to see if you have something in local maybe.

I was thinking I guess a rough list of tasks is something like:

  1. Add MassTransit library to SharedKernel. ( I am thinking both a worker service and the core project could be using MassTransit. Worker as the consumer, and the core as both consumer and publisher.)
  2. Create a mapping between a domain event and an integration event. ( I am thinking that the sending of verification code email maybe would be the best place to start?)
  3. Maybe add a new pipeline behavior for mapping and writing to MassTransit outbox using EF Core? Or maybe the existing PublishDomainEventsPipelineBehavior could be used?
  4. Add Azure service bus to the bicep module, and the aspire host
  5. Use it to communicate with other SCS?

What do you think? Did you have something completely different in mind? I can try reaching out to the email in your profile and we can set up some time.

I would love to help and learn from you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Roadmap This is a big roadmap item
Projects
Status: Next
Development

No branches or pull requests

2 participants