指南:配置 Dapr 来使用 gRPC

How to configure Dapr to use gRPC for low-latency, high performance scenarios

Dapr 为本地调用实现 HTTP 和 gRPC API 。 gRPC适用于低延迟、高性能的场景,并且使用原生客户端进行语言集成。

You can find a list of auto-generated clients here.

Dapr 运行时实现 服务 ,应用程序可以通过 gRPC 进行通信。

除了通过 gRPC 调用 Dapr , Dapr 还可以通过 gRPC 与应用程序通信。 要做到这一点,应用程序需要托管一个gRPC服务器,并实现Dapr appcallback服务

配置 dapr 以通过 gRPC 与应用程序通信

自托管

当在自己托管模式下运行时,使用 --app-protocol 标志告诉Dapr 使用 gRPC 来与应用程序对话:

  1. dapr run --app-protocol grpc --app-port 5005 node app.js

这将告诉Dapr通过gRPC与您的应用程序通过5005端口进行通信。

Kubernetes

在Kubernetes上,在你的deployment YAML中设置以下注解:

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: myapp
  5. namespace: default
  6. labels:
  7. app: myapp
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: myapp
  13. template:
  14. metadata:
  15. labels:
  16. app: myapp
  17. annotations:
  18. dapr.io/enabled: "true"
  19. dapr.io/app-id: "myapp"
  20. dapr.io/app-protocol: "grpc"
  21. dapr.io/app-port: "5005"
  22. ...