Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统难题,由此显著提高生产力并缩短开发时长。Dapr降低了构建微服务架构类现代云原生应用程序的入门门槛,Dapr应用程序已经能够在生产场景中部署自托管基础设施或Kubernetes集群。当使用自托管模式部署在虚拟机环境选用Consul 作为服务发现组件时, 1.8版本解决了一个问题 : Consul 用作名称解析组件时,相同的 appid 无法实现负载平衡[1]。

2022年7月8日正式发布了1.8 版本[2],这是自从2021年2月发布首个1.0 版本以来第八次小版本更新,Dapr 1.8.0 版本的贡献者数量众多,我们要感谢所有 92位新的和现有的贡献者,他们帮助实现了这个版本。 这次更新的内容很多都是大家期盼的功能,例如分布式锁API,中间件组件的外部 WASM 支持,更多的成熟Stable组件等。接下来我们一起来看看更新的内容。

1、死信Topic:有时,由于各种原因,应用程序可能无法处理消息。例如,检索处理消息所需的数据时可能存在暂时性问题,或者应用业务逻辑无法返回错误。死信Topic[3]用于转发无法传递到订阅应用的消息。

2、分布式锁 API: 分布式锁提供对应用程序中共享资源的互斥访问。在此版本中,引入了一个新的 alpha API,使您能够在共享资源上使用互斥锁。这是践行标准API的第一个,在Dapr中,处理共享资源的互斥访问推荐采用Dapr Actor 构建块,但是呢Dapr Actor 构建块在社区的采用上比较低,一个例外就是.NET相关的Dapr 解决方案里面对于Actor的采用是非常高的,在其他的Java,go,python等等相关项目中目前采用Dapr Actor的还是很少。

3、对中间件组件的 WASM 支持: 现在,您可以使用外部 WASM 模块编写 Dapr 中间件组件,并使用非 Go 语言扩展 Dapr。

4、容错弹性策略[4]进入预览版阶段,Dapr 1.7.0 实现了容错弹性策略第一阶段目标, 1.8 版本进入预览, Dapr 的组件版本分Alpha、Preview、Stable,我们会把Stable的组件和API 投入到生产。

5、状态共享的命名空间支持:在应用程序之间共享状态时,命名空间现在可用于隔离状态。这允许具有相同命名空间的应用重用相同的状态存储。

6、元数据 API 返回组件功能列表:现在可以查询元数据 API,以获取该 sidecar 已加载的组件的功能[5],特别是 pub/sub 和 state store

7、边车证书安装支持:Dapr sidecar现在可以支持为Linux和Windows容器安装证书

8、Kubernetes 改进:Dapr Operator 现在包括一个“看门狗”功能[6],以确保 Dapr sidecar 存在于 Pod 中,这在应用程序或集群故障期间尤其重要,以提供更高水平的弹性。部署 Dapr 时,无论是在 Kubernetes 上还是在 Docker 自托管中,提取的默认容器映像都基于distroless[7],现在,您可以使由Microsoft维护的免费开源Linux发行版和容器基础映像Mariner[8](正式名称为CBL-Mariner)的Image。

9、组件改进,在之前的 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个是华为云的组件,一个阿里的 Apache Dubbo Binding:

10、开发工具SDK 改进:

Python

Java

  • 添加 pubsub routing

.NET

JavaScript

11、CLI 改进:

  • 添加了注释 CLI 命令,用于将 Dapr 注释添加到已部署的 Kubernetes 配置中。
  • dapr init在 k8s 模式下,现在可以使用 GHCR 和私有注册表来拉取映像
  • 给 Dapr version 加上了文档

如果您不熟悉 Dapr,请访问入门页面并熟悉 Dapr。 文档已更新,包含此版本的所有新功能和更改。通过概念开发应用程序文档开始使用此版本中引入的新功能。要将 Dapr 升级到 1.8.0 版,请跳至本节

相关链接:

[1] Consul 用作名称解析组件时,相同的 appid 无法实现负载平衡:https://github.com/dapr/components-contrib/issues/1199

[2]Dapr 1.8 版本:https://blog.dapr.io/posts/2022/07/08/dapr-v1.8-is-now-available/

[3]死信Topic:https://v1-8.docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-deadletter

[4]容错弹性策略https://v1-7.docs.dapr.io/operations/resiliency/

[5]组件的功能:https://v1-8.docs.dapr.io/reference/api/metadata_api/#components

[6]Dapr Operator 现在包括一个“看门狗”功能:https://github.com/dapr/dapr/blob/master/charts/dapr/README.md#dapr-operator-options

[7]distroless镜像:https://github.com/GoogleContainerTools/distroless

[8]CBL-Mariner: https://github.com/microsoft/CBL-Mariner/

Dapr v1.8 正式发布的更多相关文章

  1. Dapr v1.9.0 版本已发布

    Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...

  2. Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)

    前言 Go语言现在在服务端的网络编程领域越来越火,尤其像IM即时通讯应用这种富网络应用且对服务端网络性能要求极高的场景,很高兴看到Golang发布了1.8正式版,希望在多核架构横行的时代多一些这种顺应 ...

  3. Dapr 官方文档中文翻译 v1.5 版本正式发布

    作者:敖小剑 - Dapr Approver 经过 Dapr 中国社区十余位贡献者一个多月的努力,Dapr 官方文档中文翻译 v1.5 版本完成翻译和审校,正式发布并上线 Dapr 官网. 访问方式 ...

  4. Dapr 知多少 | 分布式应用运行时

    Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群.对于绝大多数开发者来说,想必对Dap ...

  5. Dapr | 云原生的抽象与实现

    引言 Dapr 是微软主导的云原生开源项目,2019年10月首次发布,到今年2月正式发布 V1.0 版本.在不到一年半的时间内,github star 数达到了 1.2 万,超过同期的 kuberne ...

  6. 乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时

    Dapr是一个由微软主导的云原生开源项目,国内云计算巨头阿里云也积极参与其中,2019年10月首次发布,到今年2月正式发布V1.0版本.在不到一年半的时间内,github star数达到了1.2万,超 ...

  7. 分布式应用运行时 Dapr 1.7 发布

    Dapr 是一个开源.可移植的.事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的.微服务的.无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题. 分布式相关的问题交给D ...

  8. Dapr 弹性的策略

    云原生应用需要处理 云中很容易出现瞬时故障.原因在以下文档 暂时性故障处理[1] 中有具体说明. 任何环境.任何平台或操作系统以及任何类型的应用程序都会发生暂时性故障. 在本地基础结构上运行的解决方案 ...

  9. Qunee for HTML5 v1.6新版本发布

    Qunee for HTML5 V1.6正式发布,修复了一些 BUG,增加了滚动条支持,改进了编辑器,增加了JSON 导入导出.告警冒泡.连线流动,UI 定制等扩展示例,欢迎 访问 导航面板 增加了滚 ...

随机推荐

  1. Quantexa CDI(场景决策智能)Syneo平台介绍

    Quantexa 大数据服务提供商, 使用实体解析, 关系分析和人工智能技术帮助客户进行数据处理和预防金融犯罪. 企业概览 2016年成立, 当前规模500人 服务特色是场景决策智能CDI(conte ...

  2. 《Mybatis 手撸专栏》第6章:数据源池化技术实现

    作者:小傅哥 博客:https://bugstack.cn - 手写Mybatis系列文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 码农,只会做不会说? 你有发现吗,其实很大一部分码农 ...

  3. XCTF练习题---MISC---base÷64

    XCTF练习题---MISC---base÷64 flag:flag{E33B7FD8A3B841CA9699EDDBA24B60AA} 解题步骤: 1.观察题目,下载附件 2.打开附件,观察内容和题 ...

  4. 服务器脚本搭建国基北盛openstack平台

    @ 目录 基础环境搭建 控制节点网卡配置 计算节点网卡配置 主机映射 3,关闭防火墙和selinux以及NetworkManager 设置yum源 计算节点分区 配置openrc.sh环境变量 平台组 ...

  5. Spring Boot 启动源码解析结合Spring Bean生命周期分析

    转载请注明出处: 1.SpringBoot 源码执行流程图 2. 创建SpringApplication 应用,在构造函数中推断启动应用类型,并进行spring boot自动装配 public sta ...

  6. 1.11 Linux的主要应用领域有哪些?

    与Windows操作系统软件一样,Linux 也是一个操作系统软件.但与Windows不同的是,Linux是一套开放源代码程序的,并可以自由传播的类UNIX操作系统软件,随着信息技术的更新变化,Lin ...

  7. 项目实战:Qt+OpenCV大家来找茬(Qt抓图,穿透应用,识别左右图区别,框选区别,微调位置)

    前言   本项目的出现理由只是笔者的一个念头,于是利用专业Qt和Opencv相关的知识开发一个辅助工具,本文章仅用于Qt和Opencv结合的学习.   Demo演示效果          运行包下载地 ...

  8. 好客租房56-props深入(3props校验-约束规则)

    1常见类型:Array,bool,func,number,object,string 2React:element 3必填项:isRequred 4特定结构的想:shape({}) //导入react ...

  9. 双webview模式,子窗口打不开或者无法切换

    iOS 真机调试时,发现window.open 无效.可以结合plusReady里面不执行一起参考,博主在当时遇到这个问题只查询了资料,而后并没有来得及自己亲自验证以下方法的可行性.来日再遇上mui的 ...

  10. 《回炉重造 Java 基础》——集合(容器)

    整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...