最近,Dapr 维护者发布了分布式应用程序运行时 (Dapr) V1.10,这是一个用于构建云原生应用程序的开发者框架,可以更轻松地在 Kubernetes 上运行多个微服务,并与外部状态存储/数据库、秘密存储、pub /子经纪人,以及其他云服务和自托管解决方案。
微软于 2019 年 10 月推出 Dapr ,自 2021 年 2 月生产就绪版本 V1.0以来已经发布了多个版本。自 V1.0 发布以来,Dapr 已被云原生计算基金会 (CNCF)批准为孵化项目,收到大约43 个新组件,并拥有超过 2500 个社区贡献者。
Dapr Workflow:一项新的 alpha 功能,允许开发人员使用 Dapr 构建块和组件来编排复杂的工作流。例如,工作流可以提供任务链接——将连续的应用程序操作链接在一起,其中一个步骤的输出作为输入传递到下一步。此外,还提供工作流 快速入门。
稳定的弹性策略:Dapr 提供了定义和应用容错弹性策略(重试/退避、超时和断路器)的能力。弹性策略首先在 v1.7.0 版本中引入,现在已经稳定并可用于生产,并适用于所有构建块 API,例如 Pub/Sub、状态管理、绑定和 Actors。
Multi-App Run template:Dapr CLI 的新模板,允许开发者使用一条命令运行多个 Dapr 应用程序,简化本地开发和测试体验。
Pluggable component SDK:一种新的 SDK,允许开发人员为 Dapr 创建自定义组件,例如状态存储、发布/订阅系统和绑定。
发布和订阅批量消息:一个新功能,使 Dapr 应用程序可以在单个请求中发布或订阅多条消息,提高 pub/sub 场景的吞吐量和效率。
在stack overflow thread中,一位受访者nedad评论了 Bulk-Publish API 的性能:
事实证明,Dapr 团队已经在开发批量发布 API,它提供了更好的性能。我能够将其增加到 9000 条消息/秒,批量大小为 100。
Dapr 1.10.0 版本还包括对核心运行时和组件的许多修复和改进,例如支持 Kubernetes 中的多个命名空间、Dapr sidecar 中的 gRPC 反射、HTTP 绑定中的自定义标头、具有托管身份的 Azure Key Vault 以及改进的日志记录和错误处理。
微软 MVP 和 Diagrid 的高级开发倡导者Marc Duiker告诉 InfoQ:
当您需要构建事件驱动的应用程序时,Dapr 非常出色。它提供了一组标准化的 API 构建块,使开发人员可以专注于他们的业务逻辑。随着 1.10 版的发布,许多组件已经升级到稳定级别,可以在生产工作负载中使用。此外,还添加了扩展 Dapr 功能的新功能和组件。
此外,他补充说:
Dapr Workflow 是一个新的构建块,允许开发人员在代码中编写长期运行且有弹性的工作流。还改进了本地开发体验,例如 Multi-App Run,它通过仅使用一个命令启动多个应用程序来简化在本地运行基于微服务的应用程序。Workflow 和 Multi-App Run 都是 alpha/preview 功能。等待在生产中使用它们,但在本地或测试环境中试用它们,并向 Dapr 团队提供反馈,以便他们可以不断改进项目。
InfoQ 还采访了Dapr 维护者Nick Greenfield,他能够对项目维护者和 STC(指导技术委员会)决定的项目路线图发表评论:
Dapr 将继续投资构建模块,帮助开发人员实施和解决常见的分布式系统挑战。此外,引入两个新的 Dapr 构建块的两个公开提案是Cryptography API和Document Store API。此外,Dapr 项目将继续投资建设社区,并寻求扩大 STC,以及项目维护者和批准者。
最后,Dapr 1.10.0 版本可从Dapr GitHub 存储库或通过Dapr CLI下载。此外,Dapr 文档提供了有关如何安装、升级和使用 Dapr 的详细说明。