跳转到内容

让工作流与 AI 代理
持久化执行

Dapr 提供持久化、可验证的执行能力,让工作流与 AI 代理在崩溃、重启和中断后从原处继续。基于不绑定基础设施的 API,内置生产级安全、弹性与可观测性,让你专注代码。

开始使用 Dapr持久化工作流Dapr Agents

社区宗旨

让 Dapr 用户和开发者更好的相互交流

  • 加强沟通

    信息同步资源共享增进了解促进合作

  • 相互学习

    文章分享代码共读问题讨论经验分享

  • 共同进步

    实践落地参与开发提升技术开阔视野

全部文章
  • 读Bilgin Ibryam 新作 《Dapr 是一种10倍数 平台》

    Diagrid 经过A轮融资,筹集了2420万美元,在这样的背景下Bilgin Ibryam 加入了Diagrid 公司。能够吸引他从 RedHat 首席架构师的职位离开,加入这么一家创业公司,我们可以从他发布的这篇文章中《[Dapr as a 10x Platform](https://www.diagrid.io/blog/dapr-as-a-10x-platform)》知道他的内心追求。

  • Dapr中国社区网站(预览版)发布!

    Dapr 中国社区 是一个以 Dapr 为中心的中立而开放的技术社区,为 Dapr 用户和开发者提供知识分享和经验交流的平台,由社区爱好者和志愿者发起和维护。

  • [译] Virtual Actors : Dapr vs Orleans

    如果你想了解更多关于分布式应用程序或 virtual actor 的想法,我建议你从 Dapr 开始。 Orleans 是最初的先驱,而 Dapr 是一次重新开始,它将提升到一个新的水平。

往期文章

浏览博客

精彩活动回顾

全部活动
  • DaprCon 2022技术大会

    • 线上直播

    今年 DaprCon 作为2022年 KubeCon North America 的一部分举行

  • Dapr开发者日

    • 线上直播

    微软携手英特尔、Dapr中文社区联合发起首届Dapr分布式运行时开发者日(Dapr Day),2022年9月3日 10:00-17:30,带来一场专注技术与自由的分布式开发者狂欢。

  • GIAC 全球互联网架构大会

    • 深圳

    全球互联网架构大会(简称“GIAC”)是长期关注互联网技术与架构的高可用架构技术社区和msup推出的面向架构师、技术负责人及高端技术从业人员的年度技术架构大会,是中国地区规模最大的技术会议之一。在CloudNative(云原生)专场将有一个 Dapr 的演讲主题——如虎添翼:Java云原生新思路

标签云

全部标签

了解 Dapr

学习 Dapr

本部分改编自 Dapr 官网(dapr/website,460d369),由中国社区翻译整理。案例、采用者名单、第三方服务和效率表述均来自官网,并非中国社区的客户、独立测量或背书。商标属于各自权利人,价格与可用性以提供方为准。

Dapr 是一组面向分布式应用的 API,内置安全、弹性和可观测性最佳实践。官网介绍,开箱即用的持久化工作流、代理式 AI、发布订阅、状态管理、密钥存储、外部配置、绑定、Actor、作业、分布式锁和加密等功能,将开发效率提高 30%。内置安全、可靠性和可观测性能力,减少实现生产级应用所需的样板代码。

发布订阅消息启动工作流;活动一读取密钥,流程等待外部事件;活动二调用应用;活动三保存键值状态;完成后发布消息。

让业务流程持久化执行

用代码编写工作流,自动化有状态、持久化、长时间运行的复杂业务流程。每一步都将检查点写入状态存储,崩溃或重启后从最后完成的步骤继续,而不是重新开始。

使用任务链、扇出与扇入、监控、定时器、外部系统交互等模式。结合 Dapr API 发送消息、调用服务、保存键值数据,工作流状态可以存入你选择的数据库。

应用使用密钥存储和消息代理,消息分发给两个应用,其中一个使用数据库。架构可运行于 Microsoft Azure、AWS、Google Cloud 或本地,仅组件发生变化。

集成你选择的基础设施

组件模型将 API 与底层资源解耦。例如使用发布订阅 API 时,只需替换 YAML 组件文件,就能从 RabbitMQ 切换到 Kafka 或其他受支持的代理,无需修改代码。

Dapr 应用既可以运行在 Kubernetes 上,也可以自托管于虚拟机或物理机,因此能够运行于任意云或边缘环境。

现有三个应用和 Apache Kafka 保持不变,先加入使用状态存储的 Dapr 应用,再加入向 RabbitMQ 发送消息的 Dapr 应用。

逐步采用

Dapr 可以逐步引入现有架构,随着应用成熟再采用更多 API。Dapr 应用可以调用未使用 Dapr 的端点,同时继续获得弹性策略、可观测性、通过作用域控制的安全访问等能力。

背后的构建块 API

构建块文档

持久化执行是 Dapr 集成 API 中的一部分。构建块 API 帮助你更快构建分布式应用,内置的弹性、安全和可观测性让你专注业务逻辑。

Node.js、Python、.NET、Go、Java、PHP、Rust 等任意语言或运行时的应用,通过 HTTP 或 gRPC 调用 Dapr。Dapr 提供工作流、发布订阅、服务调用、状态管理、Actor、作业、外部配置、密钥、绑定和中间件 API,内置可观测性、安全和弹性。二进制存储、搜索、向量、加密、分布式锁和对话六项 API 处于 alpha 阶段。Dapr 可运行并集成于 Microsoft Azure、AWS、Google Cloud、Kubernetes、虚拟机、物理机、数据库、消息代理及其他服务等云端或边缘基础设施。
查看全部 15 个构建块 API 的说明
  • 工作流

    通过 Dapr 工作流或工作流组件,定义跨多个微服务的长时间运行、持久化流程或数据流,也可以与其他构建块 API 组合。

  • 服务调用

    应用通过已知端点,以 HTTP 或 gRPC 消息通信。Dapr 端点结合反向代理、内置服务发现、分布式追踪和错误处理。

  • 发布订阅

    发送方将消息发布到主题,接收方订阅主题,形成松耦合消息模式。Dapr 支持应用之间的发布订阅。

  • 状态管理

    保存应用希望在单次会话之外保留的状态。Dapr 提供键值状态 API、alpha 查询 API,以及可插拔的持久化状态存储。

  • Actor

    Actor 是隔离、独立、单线程执行的计算与状态单元。Dapr 基于虚拟 Actor 模式实现单线程编程模型,并在 Actor 不使用时进行回收。

  • 作业

    为应用安排未来执行的动作,在指定时间或按指定间隔调度作业。

  • 密钥

    通过统一 API 集成公有云、本地和 Kubernetes 等密钥存储,服务可以获取数据库连接字符串等密钥。

  • 外部配置

    从受支持的配置存储获取并订阅应用配置项,例如在启动时读取配置,或接收存储中的配置变化。

  • 绑定

    与外部云端或本地服务、系统建立双向连接。应用通过绑定 API 调用服务,也可由外部服务事件触发。

  • LLM 对话 alpha

    降低大规模、安全、可靠地与大语言模型交互的复杂度,包含提示缓存和个人身份信息混淆,避免向 LLM 发送敏感信息。

  • 分布式锁 alpha

    锁定资源,使应用的多个实例能够无冲突地访问资源,并提供一致性保障。

  • 加密 alpha

    安全、一致地使用密码学能力。在密钥库或 Dapr Sidecar 中执行消息加解密等操作,无需向应用暴露加密密钥。

  • 二进制存储 alpha

    通过组件存取和删除不适合放入状态存储的大型二进制文件,内容以流方式传输。Dapr 1.19 包含 Amazon S3 及兼容存储、Azure Blob Storage、Azure Data Lake Storage、Google Cloud Storage、OCI Object Storage 组件。

  • 搜索 alpha

    用统一、可移植 API 在全文搜索引擎中存储、获取和查询 JSON 文档,通过修改组件切换引擎。Dapr 1.19 提供 Meilisearch 组件。

  • 向量 alpha

    用统一、可移植 API 单条或批量存取嵌入向量、执行相似度查询,为 RAG 和语义搜索提供存储与检索层。Dapr 1.19 提供 Meilisearch 组件。

贯穿应用的能力

  • 安全

    服务调用 API 提供端到端安全、应用认证和端点访问策略。发布订阅组件可限制主题类型,以及允许向指定主题发布或订阅的应用。

  • 可观测性

    可配置输出 OpenTelemetry 和 Zipkin 协议的追踪数据,方便集成多种可观测性工具。

  • 弹性

    定义超时、重试与退避、熔断等容错策略,通过弹性规范应用到组件调用的 Dapr API。

  • 可验证执行

    工作流历史可以进行密码学签名,使执行可审计、篡改可发现。每个事件使用 Sidecar 的 mTLS 身份签名,签名链在每次加载状态时验证。

来自真实场景的实践

全部案例

官网列出的采用者

  • IBM
  • PWC
  • Intel
  • Microsoft
  • Alibaba
  • Zeiss
  • NASA
  • HDFC Bank
  • Cisco
  • Rakuten
  • Lufthansa
  • Zscaler
  • Bosch
  • Fujitsu
  • Grafana
  • DeFacto
  • At Bay
  • Man group
  • Wortell
  • Composabl
  • Derivco
  • Tempestive

生态工具与学习资源

企业解决方案
Cloud Native Computing Foundation

Dapr 是 CNCF 毕业项目。

加入社区

社区由爱好者和志愿者发起和维护。读文章、参与翻译、来开会,或者直接到 GitHub 提交改动。

加入翻译小组查看会议GitHub

⌂