Resilienz
Im Kontext von Workflows sind einige Resilienzmechanismen umgesetzt und angeschlossen. Diese müssen nicht explizit implementiert werden, sondern werden automatisch angebunden, wenn Workflows durch den WebModeler generiert werden. Die folgende Auflistung gibt einen Überblick:
- Retrys im Business Event Dispatcher: Es wird zehn Mal mit Zeitabstand von 10 s pro Message Consumer versucht, eine Message erneut zuzustellen. Bei nicht erfolgreicher Verarbeitung wird anschließend die Message im Deadletter Message Store abgelegt. Diese ist relevant, da die Implementierung mit MassTransit vollständig auf Messaging basiert.
- Mechanismen von MassTransit
- Retrys bei Ausnahmen: Siehe https://masstransit-project.com/usage/exceptions.html#retry-configuration
- Redelivery durch Quartz.NET: https://www.nuget.org/packages/MassTransit.Quartz/
- Anschluss Transactional Outbox: Transactional Outbox | MassTransit (masstransit-project.com)
- Verwendung von Transaktionen https://masstransit-project.com/advanced/middleware/transactions.html
- In Workflows wird immer asynchron Request Reply verwendet.