Dapr v1.8 正式发布
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:
- 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
10、开发工具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
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 正式发布的更多相关文章
- Dapr v1.9.0 版本已发布
Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...
- Go语言v1.8正式发布,有显著的性能提升和变化(go适合服务器编程、网络编程)
前言 Go语言现在在服务端的网络编程领域越来越火,尤其像IM即时通讯应用这种富网络应用且对服务端网络性能要求极高的场景,很高兴看到Golang发布了1.8正式版,希望在多核架构横行的时代多一些这种顺应 ...
- Dapr 官方文档中文翻译 v1.5 版本正式发布
作者:敖小剑 - Dapr Approver 经过 Dapr 中国社区十余位贡献者一个多月的努力,Dapr 官方文档中文翻译 v1.5 版本完成翻译和审校,正式发布并上线 Dapr 官网. 访问方式 ...
- Dapr 知多少 | 分布式应用运行时
Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群.对于绝大多数开发者来说,想必对Dap ...
- Dapr | 云原生的抽象与实现
引言 Dapr 是微软主导的云原生开源项目,2019年10月首次发布,到今年2月正式发布 V1.0 版本.在不到一年半的时间内,github star 数达到了 1.2 万,超过同期的 kuberne ...
- 乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时
Dapr是一个由微软主导的云原生开源项目,国内云计算巨头阿里云也积极参与其中,2019年10月首次发布,到今年2月正式发布V1.0版本.在不到一年半的时间内,github star数达到了1.2万,超 ...
- 分布式应用运行时 Dapr 1.7 发布
Dapr 是一个开源.可移植的.事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的.微服务的.无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题. 分布式相关的问题交给D ...
- Dapr 弹性的策略
云原生应用需要处理 云中很容易出现瞬时故障.原因在以下文档 暂时性故障处理[1] 中有具体说明. 任何环境.任何平台或操作系统以及任何类型的应用程序都会发生暂时性故障. 在本地基础结构上运行的解决方案 ...
- Qunee for HTML5 v1.6新版本发布
Qunee for HTML5 V1.6正式发布,修复了一些 BUG,增加了滚动条支持,改进了编辑器,增加了JSON 导入导出.告警冒泡.连线流动,UI 定制等扩展示例,欢迎 访问 导航面板 增加了滚 ...
随机推荐
- Quantexa CDI(场景决策智能)Syneo平台介绍
Quantexa 大数据服务提供商, 使用实体解析, 关系分析和人工智能技术帮助客户进行数据处理和预防金融犯罪. 企业概览 2016年成立, 当前规模500人 服务特色是场景决策智能CDI(conte ...
- 《Mybatis 手撸专栏》第6章:数据源池化技术实现
作者:小傅哥 博客:https://bugstack.cn - 手写Mybatis系列文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 码农,只会做不会说? 你有发现吗,其实很大一部分码农 ...
- XCTF练习题---MISC---base÷64
XCTF练习题---MISC---base÷64 flag:flag{E33B7FD8A3B841CA9699EDDBA24B60AA} 解题步骤: 1.观察题目,下载附件 2.打开附件,观察内容和题 ...
- 服务器脚本搭建国基北盛openstack平台
@ 目录 基础环境搭建 控制节点网卡配置 计算节点网卡配置 主机映射 3,关闭防火墙和selinux以及NetworkManager 设置yum源 计算节点分区 配置openrc.sh环境变量 平台组 ...
- Spring Boot 启动源码解析结合Spring Bean生命周期分析
转载请注明出处: 1.SpringBoot 源码执行流程图 2. 创建SpringApplication 应用,在构造函数中推断启动应用类型,并进行spring boot自动装配 public sta ...
- 1.11 Linux的主要应用领域有哪些?
与Windows操作系统软件一样,Linux 也是一个操作系统软件.但与Windows不同的是,Linux是一套开放源代码程序的,并可以自由传播的类UNIX操作系统软件,随着信息技术的更新变化,Lin ...
- 项目实战:Qt+OpenCV大家来找茬(Qt抓图,穿透应用,识别左右图区别,框选区别,微调位置)
前言 本项目的出现理由只是笔者的一个念头,于是利用专业Qt和Opencv相关的知识开发一个辅助工具,本文章仅用于Qt和Opencv结合的学习. Demo演示效果 运行包下载地 ...
- 好客租房56-props深入(3props校验-约束规则)
1常见类型:Array,bool,func,number,object,string 2React:element 3必填项:isRequred 4特定结构的想:shape({}) //导入react ...
- 双webview模式,子窗口打不开或者无法切换
iOS 真机调试时,发现window.open 无效.可以结合plusReady里面不执行一起参考,博主在当时遇到这个问题只查询了资料,而后并没有来得及自己亲自验证以下方法的可行性.来日再遇上mui的 ...
- 《回炉重造 Java 基础》——集合(容器)
整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...