Dapr: 1 – 认识Dapr
1 Dapr是什么?
Dapr(Distributed Application Runtime), 最早是2019由微软一个国人工程师开发的。
Dapr不是框架,也不是库,它是一个分布式运行时,主要目的是让开发者更容易地构建云原生、事件驱动、以及可扩展的分布式应用,而不用深入了解复杂的底层基础设施。
这意味着你在开发元原生应用时,可以与底层基础设施轻松解耦,可以专注于业务逻辑,而不是分布式系统的复杂性。
目前稳定版本是v1.16.2.
Dapr跨语言支持,官方团队提供:C#, Java, Go, Python, Node.js, Rust 等 SDK。
2 Dapr能做什么?
Dapr提供了一组称为building blocks(构建块)的抽象API,每个构建块抽象了一类常见的分布式系统功能。
通过标准化接口,Dapr允许你轻松切换底层实现(从Memcache到Redis, 从Kafka到RabbitMQ)。
常见构建块:
| 构建块 | 功能 | 示例适配器 |
|---|---|---|
| Service Invocation | 服务调用(RPC调用) | Http/gRPC调用,负载均衡 |
| StateManagement | 状态管理 | Redis、PostgreSQL、Cosmos DB |
| Pub/Sub | 发布订阅 | Kafka、Azure、Azure Service Bus |
| Bindings | 外部系统绑定 | Cron、消息队列、文件系统 |
| Actors | 虚拟Actor模型 | 类似Oleans的Actor管理 |
| Secrets | 秘钥管理 | Vault、AWS Secrect Mananger |
| Observability | 可观测性 | OpenTelemetry、Zipkin、Prometheus |
| workflow | 工作流编排 | 用户长事务或Saga场景 |
发表回复