Fork me on GitHub

Dapr 的 gRPC组件(又叫可插拔组件)的提案

Dapr 在1.9 版本中的提案,计划在 Dapr Runtime 中组件采用 外部 gRPC 组件: https://github.com/dapr/dapr/issues/3787 ,针对这个 gRPC组件 有一个 具体实现方面的 提案https://github.com/dapr/dapr/issues/4925 。 昨天刚批准了其中的 PR https://github.com/dapr/dapr/pull/5102 的合并。 从这个提案的实现 可以很好的解决2022年9月3日 Dapr 中文社区举办的 Dapr 开发者日 在圆桌讨论环节 几位嘉宾所担心的 Dapr 的后续发展问题,这意味着我们可以使用各种语言来扩展Dapr 了。

下面我们一起来看一看这个完成 状态存储可插拔组件 PR https://github.com/dapr/dapr/pull/5102  的内容,首先其中提到了当前已经有3个参考实现代码库:

  1. .NET: https://github.com/mcandeia/DaprPluggableComponentSDK.NET/tree/fix/service-lifecycle
  2. Java: https://github.com/tmacam/DaprPluggableComponent-Java
  3. Go: https://github.com/mcandeia/dapr-components-go-sdk 

您所需要的只是一个应用程序,它侦听默认的特定于组件的unix domain socket,该应用程序响应Dapr 在状态存储服务中定义的gRPC调用。Dapr 将为一组语言提供 SDK(可能从 .NET、Java 和 Go 开始),可插入组件的实现将与在compontents-contrib执行的操作几乎相同,几乎没有细微差别。

性能是 .NET 和 gRPC 的一个重要特性,而 .NET 6/7 比以往任何时候都快,下面这张图是来自 .NET 5 中的 gRPC 性能改进 。这是一个节省资金、减少能耗和构建更环保的云原生应用程序的机会, 我们可以采用.NET 来扩展Dapr 了。

image

posted @ 2022-09-10 20:28  张善友  阅读(948)  评论(0编辑  收藏  举报