Open paulvanbladel opened 4 years ago
Hi @paulvanbladel
I don't have experience with this library, I will look at.
I would say that the outbox pattern in that example is implemented using 3rd party library - Quartz.NET because what we need for Outbox is background processor.
Quartz.NET is ok but for more advanced scenarios (as you wrote - retries) and monitoring I use Hangfire. I see that CAP is similar to Hangfire, even has the same Dashboard GUI.
I didn't want to include many components at the beginning because I wanted to not overcomplicate this solution. However, I think about adding some more advanced solution in this area to one of the module now.
Hi @kgrzybek @paulvanbladel Can you please provide a fork that implements CAP or guide me to do this please?
You rely on some deliberately selected 3rd party libs but the outbox implementation is part of your own code base. I have played with https://github.com/dotnetcore/CAP and it feels very much ok. I understand that in the monolith world there is less need for a queuing infrastructure but cap supports also in memory transports. Nonetheless, even in a monolith there is need for retries (e.g. when the integration event handler throws) which can be quite configured quite easy in Cap.