Dapr 是一套开源、可移植的事件驱动型运行时,容许开发人员轻松立足云端与边缘地位运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr 可能确保开发人员专一于编写业务逻辑,而不用分神于解决分布式系统难题,由此显著进步生产力并缩短开发时长。Dapr 升高了构建微服务架构类古代云原生应用程序的入门门槛,Dapr 应用程序曾经可能在生产场景中部署自托管基础设施或 Kubernetes 集群。当应用自托管模式部署在虚拟机环境选用 Consul 作为服务发现组件时,1.8 版本解决了一个问题 : Consul 用作名称解析组件时,雷同的 appid 无奈实现负载平衡。
2022 年 7 月 8 日正式公布了 1.8 版本,这是自从 2021 年 2 月公布首个 1.0 版本以来第八次小版本更新,Dapr 1.8.0 版本的贡献者数量泛滥,咱们要感激所有 92 位新的和现有的贡献者,他们帮忙实现了这个版本。这次更新的内容很多都是大家期盼的性能,例如分布式锁 API,中间件组件的内部 WASM 反对,更多的成熟 Stable 组件等。接下来咱们一起来看看更新的内容。
- 死信 Topic:有时,因为各种起因,应用程序可能无奈解决音讯。例如,检索解决音讯所需的数据时可能存在暂时性问题,或者利用业务逻辑无奈返回谬误。死信 Topic 用于转发无奈传递到订阅利用的音讯。
- 分布式锁 API:分布式锁提供对应用程序中共享资源的互斥拜访。在此版本中,引入了一个新的 alpha API,使您可能在共享资源上应用互斥锁。这是践行规范 API 的第一个,在 Dapr 中,解决共享资源的互斥拜访举荐采纳 Dapr Actor 构建块,然而呢 Dapr Actor 构建块在社区的采纳上比拟低,一个例外就是.NET 相干的 Dapr 解决方案外面对于 Actor 的采纳是十分高的,在其余的 Java,go,python 等等相干我的项目中目前采纳 Dapr Actor 的还是很少。
- 对中间件组件的 WASM 反对:当初,您能够应用内部 WASM 模块编写 Dapr 中间件组件,并应用非 Go 语言扩大 Dapr。
- 容错弹性策略进入预览版阶段,Dapr 1.7.0 实现了容错弹性策略第一阶段指标,1.8 版本进入预览,Dapr 的组件版本分 Alpha、Preview、Stable,咱们会把 Stable 的组件和 API 投入到生产。
- 状态共享的命名空间反对:在应用程序之间共享状态时,命名空间当初可用于隔离状态。这容许具备雷同命名空间的利用重用雷同的状态存储。
- 元数据 API 返回组件性能列表:当初能够查问元数据 API,以获取该 sidecar 已加载的组件的性能,特地是 pub/sub 和 state store
- 边车证书装置反对:Dapr sidecar 当初能够反对为 Linux 和 Windows 容器装置证书。
- Kubernetes 改良:Dapr Operator 当初包含一个“看门狗”性能,以确保 Dapr sidecar 存在于 Pod 中,这在应用程序或集群故障期间尤其重要,以提供更高水平的弹性。部署 Dapr 时,无论是在 Kubernetes 上还是在 Docker 自托管中,提取的默认容器映像都基于 distroless,当初,您能够使由 Microsoft 保护的收费开源 Linux 发行版和容器根底映像 Mariner(正式名称为 CBL-Mariner)的 Image。
- 组件改良,在之前的 Dapr 版本中具备稳固候选版本的以下组件已降级为稳固版本
- Azure Table Storage State Store (stable candidate)
- Azure Event Hubs Binding (stable candidate)
- Azure Storage Queues Binding (stable candidate)
- Postgresql State Store (stable candidate)
- Azure Event Hubs Pubsub (stable candidate)
Dapr 当初有超过 100 多个组件(总共 105 个)。此版本中增加的新组件,其中 2 个是华为云的组件,一个是阿里的 Dubbo Binding:
- 1.6 版本增加的 RouterChecker HTTP Request Routing,曾经有文档了。
- Commerce Tools Binding
- Apache Dubbo Binding
- Huawei OBS Binding
- Huawei CSMS Secret Store
- In-memory State Store used for development
- RocketMQ PubSub
- Wasm Basic HTTP Middleware
- Redis Distributed Lock
- 开发工具 SDK 改良:
Python
- 反对配置 API Unsubscribe events
- 反对 per-actor-type configuration
- 反对 Actor 计时器和揭示中的 TTL 和工夫 / 距离格局
Java
- 增加 pubsub routing
.NET
- 反对配置 API 的 Unsubscribe events
- 反对 per-actor-type configuration
- 反对 distributed lock API
JavaScript
- JavaScript SDK 当初在 @dapr/dapr 上可用。较旧的包 dapr-client 正处于弃用的路上
- 反对 Actor reminder/timer TTL support
- 反对 Configuration API
- 反对 gRPC proxy
- 反对 configuring the SDK logger
- CLI 改良:
- 增加了正文 CLI 命令,用于将 Dapr 正文增加到已部署的 Kubernetes 配置中。
- dapr init 在 k8s 模式下,当初能够应用 GHCR 和公有注册表来拉取映像
- 给 Dapr version 加上了文档
如果您不相熟 Dapr,请拜访入门页面并相熟 Dapr。文档已更新,蕴含此版本的所有新性能和更改。通过概念和开发应用程序文档开始应用此版本中引入的新性能。要将 Dapr 降级到 1.8.0 版,请跳至本节。
长按辨认二维码
关注微软中国 MSDN
点击浏览原博客~