dapr / dapr/docs

add general diagram for how SDKs interacts with Dapr runtime

Open
#3,736 5 comments 0 reactions 0 assignees View on GitHub
content/missing-information good first issue
Dominant language
SCSS
Stars
1k
Forks
794
Avg merge
2d 8h
Merged PRs (30d)
7

Description

**What content needs to be created or modified?**
There is no visual representation for how the SDKs in general interacts with the Dapr runtime. We should add a visual for this for easy understanding at a glance by community members.

**Describe the solution you'd like**
It would be nice for community members to have a diagram depicting the interactions with end user applications, the Dapr SDKs, and the Dapr sidecar at a high level.

The diagram should include:

3 main components: end user application, Dapr SDKs, Dapr sidecar
- Initialization: Depict the application Dapr client establishing connection with the Dapr sidecar, via HTTP or gRPC. Note: that depends on the SDK and should be depicted visually.
- API calls that one can use the Dapr client for. For example you can save & retrieve state from state stores, publish and subscribe to events using pub/sub, invoke other services using service invocation, etc.
- Overall request routing (when app makes API call through Dapr client, then the request is sent to the Dapr sidecar running along the app)

Other ideas (but not limited to below list) that can be included in diagram:

- Sidecar processing
- Response handling
- Middleware and observability
- Error handling
- Security

**Where should the new material be placed?**
On this page: https://docs.dapr.io/developing-applications/sdks/

**The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos**
No pull requests yet as I'm targetting this as a good idea for adding on the Grace Hopper Conference board for Dapr. I'll link the SDK specific issues here, as I believe we can have a generic visual representation here, and then a more specific diagram per SDK in their associated README.md files.

SDK Issues:
https://github.com/dapr/go-sdk/issues/451
https://github.com/dapr/java-sdk/issues/915
https://github.com/dapr/dotnet-sdk/issues/1146
https://github.com/dapr/js-sdk/issues/521
https://github.com/dapr/python-sdk/issues/599
https://github.com/dapr/rust-sdk/issues/105
https://github.com/dapr/cpp-sdk/issues/56
https://github.com/dapr/php-sdk/issues/139

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.