什么是Dapr?


Dapr 是一个盒子里的分布式系统工具包。它解决了应用程序的外围集成问题,让开发人员专注于业务逻辑。如果您熟悉 Apache Camel、Java 世界中的 Spring Framework 或其他分布式系统框架,您会发现与 Dapr 有很多相似之处。以下是与其他框架的一些相似之处:

  • 与 Camel 类似,Dapr 具有连接器(称为绑定),可让您连接到各种外部系统。
  • 与 HashiCorp Consul 类似,Dapr 提供可由 Consul 支持的服务发现。
  • 与 Spring Integration、Spring Cloud(还记得 Netflix Hystrix 吗?)和许多其他框架类似,Dapr 具有错误处理能力,包括重试、超时、断路器,称为弹性策略
  • 与 Spring Data KeyValue 类似,Dapr 提供基于 Key/Value 的状态抽象。
  • 与 Kafka 类似,Dapr 提供基于 pub/sub 的服务交互。
  • 与 ActiveMQ 客户端类似,Dapr 提供DLQ,但这些不是特定于消息传递技术的,这意味着它们甚至可以用于 AWS SQS 或 Redis 之类的东西。
  • 与 Spring Cloud Config 类似,Dapr 提供配置和秘密管理
  • 与 Zookeeper 或 Redis 客户端类似,Dapr 提供分布式锁
  • 与 Service Mesh 类似,Dapr在您的应用程序和 sidecar 之间提供 mTLS 和额外的安全性。
  • 与 Envoy 类似,Dapr通过自动度量、跟踪和日志收集提供增强的可观察性。

所有这些框架与 Dapr 的主要区别在于后者提供的功能不是作为应用程序中的库,而是作为在应用程序旁边运行的 sidecar。这些功能暴露在定义良好的 HTTP 和 gRPC API(非常有创意地称为构建块)之后,可以在不影响应用程序代码的情况下交换实现(称为组件)。

可以说,Dapr 是通过 sidecar 和在其他地方运行的可交换实现公开的稳定 API 的集合。它是集成技术的云原生化身,它使以前只能以几种语言提供的集成功能,每个人都可以使用,并且随处可移植

安装入门点击标题