Showcase how we can decouple long-running tasks from HTTP request processing in REST API by introducing a distributed system using Azure Service Bus as a message broker to asynchronously handle messages, and Worker Services as message consumers, and Redis to track long-running tasks' status.
- Azure Service Bus namespace (please see article below on how to create a namespace and generate a connection string)
- Run "dotnet run" in Web API application to run the REST API.
- Run "dotnet run --no-build" in Services application to run the consumer instances.
For detailed description on the development journey and how things work, please see resource articles:
- REST API Best Practices — Decouple Long-running Tasks from HTTP Request Processing
- Decouple Long-running Tasks from HTTP Request Processing — Using In-Memory Message Broker
- Decouple Long-running Tasks from HTTP Request Processing — Using Azure Service Bus
- Decouple Long-running Tasks from HTTP Request Processing — Scalable Consumers
- TODO : article to cover checking coffee status using Redis
⭐ If you enjoy this project, or are using this project to start your exciting new project, or are just forking it to play, please give it a star. Much appreciated! Thanks! ⭐