Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统难题,由此显著提高生产力并缩短开发时长。Dapr 是用于构建云原生应用程序的开发人员框架,可以更轻松帮助开发人员在 Kubernetes 上构建运行多个微服务,并与外部状态存储/数据库、机密存储、发布/订阅代理以及其他云服务和自托管解决方案进行交互。
2023年2月17日正式发布了1.10版本,Dapr v1.10.0 版本提供了几项新功能,包括Dapr 工作流(预览版)、发布订阅批量消息(预览版),可插拔组件(预览版)、以及用于本地开发的多应用运行功能(预览版),从v1.7.0 首次引入的弹性策略已进入稳定版本,可以正式应用于生产。Dapr 中现在有 111 个内置组件。在这个版本中添加了八个新组件,这个版本还增加了很多的稳定的组件。
Dapr 现在包含的工作流作为新的 alpha API ,尚没有准备好应用于生产。Dapr 工作流使你能够生成跨多个应用的长时间运行的持久进程或数据流。 Dapr 工作流可以与其他 Dapr API 构建基块结合使用。例如,工作流可以通过服务调用调用另一个服务、触发绑定或检索机密,从而使您能够编排和构建复杂的应用程序方案。 可以阅读有关 Dapr 工作流[3]的详细信息,或深入了解并试用 .NET Dapr 工作流快速入门[4],以了解此操作的实际效果。
通过批量的发布和订阅,您可以在单个请求中发布和订阅[5]多条消息。编写需要发送或接收大量消息的应用程序时,使用批量操作可以通过减少 Dapr sidecar、应用程序和基础发布/订阅代理之间的请求总数来实现高吞吐量。
Dapr 具有作为运行时一部分包含的内置组件。Dapr 现在允许您创建称为“可插拔组件”[6]的私有组件。这些是自托管的组件(exe 或容器),可以用任何语言编写,并且能够“插入”到 Dapr 中。在此版本中,适用于 .NET、Java 和 Go 的预览版 SDK 使你能够使用所选语言轻松创建可插入组件。可以在此处阅读有关 .NET SDK[7] 的详细信息。
借助多应用运行[8],您可以使用模板的单个命令在自承载模式下启动多个应用程序。模板文件描述了如何启动多个应用程序,就像运行了许多单独的 CLI 运行命令一样,从而显著改善了同时测试多个应用程序的体验。在这里尝试使用Java,Go,.NET,JavaScript和Python。
在此版本中,在 v1.7.0 版本中首次引入的弹性策略[9]现已稳定。
如果您不熟悉 Dapr,请访问入门[10]页面并熟悉 Dapr。 文档已更新,包含此版本的所有新功能和更改。通过概念[11]和开发应用程序[12]文档开始使用此版本中引入的新功能。要将 Dapr 升级到 1.10.0 版,请跳至本节[13]。
相关链接:
[1]详细了解Dapr: https://docs.dapr.io/concepts/overview/
[2]阅读 Dapr 1.10.0 的发行说明:https://blog.dapr.io/posts/2023/02/16/dapr-v1.10-is-now-available/
[3]Dapr 工作流: https://v1-10.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview/
[4].NET Dapr 工作流快速入门:https://v1-10.docs.dapr.io/getting-started/quickstarts/workflow-quickstart/
[5]批量的发布和订阅:https://v1-10.docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-bulk/
[7]可插拔组件.NET SDK:https://v1-10.docs.dapr.io/developing-applications/develop-components/pluggable-components/pluggable-components-sdks/
[9]弹性策略:https://v1-10.docs.dapr.io/operations/resiliency/resiliency-overview/
[10] Dapr入门: https://docs.dapr.io/getting-started/
[11] Dapr 概念:https://docs.dapr.io/concepts/
[12]开发应用程序:https://docs.dapr.io/developing-applications/
[13]升级到Dapr 1.10.0版本: https://blog.dapr.io/posts/2023/02/16/dapr-v1.10-is-now-available/#upgrading-to-dapr-110