vicmaeg / practical-dapr

A full-stack .NET microservices build on Dapr and Tye

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

practical-dapr project

A lightweight low ceremony .NET microservices are lifted and shifted to Kubernetes platform and run on Dapr runtime (with and without Tye options).

Price webhost-ui graphql-api identity-api product-catalog-api inventory-api

High level architecture

CoolStore demo application

Want to develop this application? Reference at Developer Guidance

Want to deployment this application? Reference at Deployment Guidance

Dapr building blocks

Service to service

  • Dapr client to calling to another service (product-catalog-api to inventory-api)
  • HTTP/gRPC invocation

State store

  • Using state management to store the shopping cart data and its items
  • Redis for state management

Pub/sub message

  • Create, update and delete a project at product-catalog-api, and subsequently publish an event to inventory-api to create price, rop, and eoq
  • Redis for pub/sub

Input/output binding

TODO

Observability

  • Run tye command as following
$ tye run --dtrace zipkin=http://localhost:9411 --logs seq=http://localhost:5340
  • Log management with Seq dashboard

  • Distributed Tracing with Zipkin dashboard (OpenTelemetry)

Technical stack is at technical_stack

Show your support

If you liked practical-dapr project or if it helped you, please give a star ⭐ for this repository. That will not only help strengthen our .NET community but also improve cloud-native apps development skills for .NET developers in around the world. Thank you very much 👍

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :p

About

A full-stack .NET microservices build on Dapr and Tye

License:MIT License


Languages

Language:C# 90.0%Language:HTML 5.2%Language:PowerShell 3.2%Language:Dockerfile 1.1%Language:CSS 0.4%Language:JavaScript 0.1%