Fork me on GitHub

在边缘计算场景中使用Dapr

image

Dapr 是分布式应用程序可移植、事件驱动的运行时, 这里有几个关键字,我们拆开来看一下:

  • 分布式: 代表共享或是分散,在云原生应用上体现为微服务,在边缘计算场景中代表分散的模块,可以做积木式拼接。
  • 应用: Dapr 工作在应用层,而不是在网络层,帮助我们构建分布式的应用。
  • 可移植的平台:可以将不同的系统集成到您的应用程序中而无需硬编码, 特别是在边缘计算场景中区别于社区中出现的几个号称多运行时架构的项目,比如腾讯的Femas 。
  • 运行时:可以在所有的设备上运行Dapr,无论你使用什么样的平台,不管你是用强大计算能力的X86还是低功耗的ARM 平台。

Dapr 被设计成既可以在云上工作也可以在边缘上工作。但是到目前为止,它的应用重点仍是聚焦在开启云原生应用上。下面我们来展示将Dapr 为边缘计算场景带来价值的不同方式,内容部分来自《Dapr 学习手册》:当当网链接: http://dmll.cn/RXv2,推荐大家买来读一遍,Dapr的精彩介绍来自于Dapr 的原创。

Dapr 拥有作为函数计算运行时必要的所有基础的功能,它支持可以用于激活函数代码的触发器,同时它也支持函数代码用来把数据发送给另一个系统的绑定。Dapr 运行时以单进程的方式运行。虽然有其他Dapr辅助服务,例如Dapr Actor的定位(Placement)服务,Dapr 运行时本身足以支持常见的函数执行。这使得在边缘部署的运行时打包和分发变得足够简单。把我们的函数代码实现成HTTP或者gRPC服务器。可以预期的是,未来的Dapr 将会扩展成动态加载函数代码。

image

image


image

在低功耗设备上运行Dapr 边车可能有点昂贵,Dapr 适合的解决方案场景是在现场网关上运行,然后让设备通过IP 地址和 Dapr 边车通信。我最近刚做了一个例子是通过Dapr 和 边缘 MQTT 服务器的PubSub ,代码例子参看:https://github.com/geffzhang/dapr-nanomq

posted @ 2022-04-14 09:07  张善友  阅读(541)  评论(2编辑  收藏  举报