dapr-demos icon indicating copy to clipboard operation
dapr-demos copied to clipboard

Collection of personal Dapr demos (bindings, state, pub/sub, service-to-service invocation)

Dapr demos

Collection of personal Dapr demos.

Note, some of these demos require latest version of Dapr, Ingress gateway, Observability components, or cluster-local Redis and Mongo services. To create Kubernetes cluster with all these components on AKS, or quickly configure an existing cluster, consider the Dapr Cluster Setup utility.

  • Bindings
    • Scheduling using cron - Using scheduler to execute service
    • Tweet stream - Subscribing to a Twitter even stream and publishing to a pub/sub topic
    • State change handler - RethinkDB state changes streamed into topic
  • Eventing
    • gRPC event subscriber - Subscribing to topic and processing its events using gRPC service
    • HTTP event subscriber - Subscribing to topic and processing its events using HTTP service
  • Services
    • gRPC echo service - gRPC service invocation example
    • HTTP echo service - HTTP service invocation example
    • Sentiment Scorer - Sentiment scoring serving backed by Azure Cognitive Service
  • Integrations
    • Components in ACI - Dapr components as microservices on ACI without app
    • Component in Kubernetes - Dapr components as microservices on Kubernetes without app
    • Dapr Apps in ACI - Deploying apps with Dapr sidecar and components on ACI
    • Dapr with APIM - Dapr API using Azure API Management self-hosted gateway
    • Dapr API on Ingress - Expose Dapr API on Kubernetes Ingress Controller using NGINX
    • Dapr GitOps - GitHub Actions build pipeline for Dapr apps
  • Solutions
    • Order cancellation - multiple Dapr service integrations with observability
    • Pipeline - Demos combining Twitter binding, Sentiment scoring, Multi Pub/Sub Processor, and WebSocket Viewer app
    • Fan-out - Single message source "broadcasted" to multiple, configurable targets (e.g. Redis PubSub, HTTP, gRPC)
    • Hardened - Example of multi-microservice app with tightly controlled access to secrets, components, and full invoking service identity validation
  • Templates

Disclaimer

This is my personal project and it does not represent my employer. While I do my best to ensure that everything works, I take no responsibility for issues caused by this code.

License

This software is released under the MIT