A sample .NET Core distributed application based on eShopOnContainers, powered by Dapr.
Dapr enables developers using any language or framework to easily write microservices. It addresses many of the challenges found that come along with distributed applications, such as:
- How can distributed services discover each other and communicate synchronously?
- How can they implement asynchronous messaging?
- How can they maintain contextual information across a transaction?
- How can they become resilient to failure?
- How can they scale to meet fluctuating demand?
- How are they monitored and observed?
The code in this repository is work in progress. An accompanying e-Book called Dapr for .NET developers is currently in development and will use the sample code in this repository to demonstrate Dapr features and benefits.
eShopOnDapr runs in containers and requires Docker to run. There are various ways to start the application:
- Run eShopOnDapr from the CLI
- Run eShopOnDapr from Visual Studio (best F5 debugging experience)
- Run eShopOnDapr from Visual Studio Code (allows you to debug individual containers))
- Run eShopOnDapr in Kubernetes
Note that it will take a little while to start all containers. eShopOnDapr includes a health UI that you can use to see if the containers are ready. You can access it at http://localhost:5107/hc-ui
.
When all microservices are healthy, you can navigate to http://localhost:5104 to view the eShopOnDapr UI.
- Deployment
- Standalone: Docker Compose
- K8s
- Service invocation
- Pub/sub
- State management
- Secrets
- in configuration files
- in .NET startup code
- Observability
- Actor model
- Bindings
Model photos by Laura Chouette, Heng Films & Enmanuel betances Santos on Unsplash.