Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统难题,由此显著提高生产力并缩短开发时长。Dapr 是用于构建云原生应用程序的开发人员框架,可以更轻松帮助开发人员在 Kubernetes 上构建运行多个微服务,并与外部状态存储/数据库、机密存储、发布/订阅代理以及其他云服务和自托管解决方案进行交互。

2024年3月6日正式发布了1.13版本,,Dapr v1.13 版本提供了几项新功能,组件热重载、Go和Javascript/Typescript SDK对工作流的支持、HTTP服务器的低指标基数、优雅关机,Rust SDK对Actor的支持等。

以下是 v1.13 版本的亮点:

组件热重载

组件“热重载”[3]是一种新的预览功能,启用后,可以自动拾取组件更新,而无需重新启动 Dapr 进程。组件规范已协调,并在 Kubernetes 和自托管模式下运行时生效。

Go 和 JavaScript/TypeScript SDK 对工作流的支持

现在,您可以使用 Go 和 JavaScript/TypeScript 编写具有持久执行能力的容错、基于工作流的应用程序。
有关详细信息,请参阅 Go SDK[4],并尝试快速入门或示例
有关更多详细信息,请参阅 Javascript SDK[5],并尝试快速入门或示例

HTTP 服务器的低指标基数

Dapr 现在包含一个可选设置,用于为 HTTP 服务器发出的指标启用低基数,这将在 Dapr 1.14 中默认启用。

目前,Dapr HTTP 服务器会发出每个请求路径的指标,据观察,这会导致大量内存使用并产生其他负面性能影响。
启用低基数指标后,HTTP Dapr 服务器的行为更像 gRPC 服务器,并将每个 Dapr API 的请求组合在一起,从而可能显着减少内存消耗。

优雅关机

Dapr 现在接受一个注释或 CLI 标志,该标志会在此持续时间内延迟完全关闭过程,或者直到应用程序报告为不健康 - 以较早者为准。dapr.io/block-shutdown-duration--dapr-block-shutdown-duration

在此期间,所有订阅和输入绑定都将关闭。这对于需要使用 Dapr API 作为其自己的关闭过程的一部分的应用程序非常有用。

运行时和 SDK 中的标准化错误代码

Dapr、PubSub 和 State API 现在具有返回给应用程序的适当和标准化的错误代码,包括基于 gRPC 更丰富的错误模型的丰富错误详细信息。

其余的 API 正在进行中,非常感谢社区对这项工作的贡献,并且非常有影响力。在此处查看有关错误代码的其他信息。
查看每个 SDK 的文档,了解每个 SDK 的错误代码解析和处理。请参阅此处的 Go SDK 错误解析和处理示例[6]。

Actor Reminder 性能改进

现在,您可以选择使用 protobuf 序列化而不是 JSON,使 actor Reminder数据使用 protobuf 序列化,从而在多个 Dapr 实例对同一Reminder运行时提高吞吐量、减少延迟并提高稳定性。启用此功能后,我们观察到 actor 提醒和工作流基准测试的改进高达 40%。此序列化方法将成为 v1.14 中的默认方法。

重要:启用此功能后,您不应将 Dapr 控制平面降级到早期版本,因为您的提醒数据可能会变得不可读。

若要为 actor 提醒启用 protobuf 序列化,请在 Kubernetes 上设置以下 Helm 参数:
在自托管模式下,运行带有标志的 daprd:dapr_placement.maxActorApiLevel=20--max-api-level=20

Rust SDK 对 actor 的支持 (alpha)

您现在可以使用 Rust 来运行 Dapr Actors,这是一种用于高度可扩展的有状态应用程序的编程模型。有关更多详细信息,请参阅 Rust SDK

组件
基于SQLite的本地名称解析器

现在,您可以使用基于 SQLite 的名称解析程序在自承载模式下进行服务调用。这对于处理过滤 mDNS 的公司防火墙和 VPN 非常有用。

PostgreSQL 状态存储 v2

PostgreSQL 有一个新的 v2 实现,其中包含对性能和可靠性的改进。建议新应用程序使用 v2。v1 实现仍受支持,并且未弃用。没有从 v1 到 v2 的迁移路径。

Azure Blob 存储状态存储 v2

Azure Blob 存储具有新的 v2 实现,建议用于所有新项目,因为它修复了具有键前缀的向后不兼容 bug。v1 实现仍受支持,并且未弃用。没有从 v1 到 v2 的迁移路径。

相关链接:

[1]详细了解Dapr: https://docs.dapr.io/concepts/overview/

[2]阅读 Dapr 1.13的发行说明:https://github.com/dapr/blog/blob/v1.13_release_notes/daprblog/content/posts/2024/v1.13-release.md

[3]组件“热重载”:https://v1-13.docs.dapr.io/operations/components/component-updates/#hot-reloading-preview-feature

[4]Workflow Go SDK:ttps://github.com/dapr/go-sdk/tree/main/examples/workflow

[5]Workflow Javascript SDK: https://github.com/dapr/js-sdk/tree/main/examples/workflow/authoring

[6]Go SDK 错误解析和处理示例:https://v1-13.docs.dapr.io/developing-applications/sdks/go/go-client/#error-handling

Dapr v1.13 版本已发布的更多相关文章

  1. swoole-1.7.18 版本已发布,支持 PHP7

    swoole-1.7.18 版本已发布,支持 PHP7 matyhtf 发布于: 2015年07月23日 (22评) 分享到:    收藏 +16 3月19日,深圳源创会火热报名中,go>> ...

  2. Dapr v1.9.0 版本已发布

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

  3. Dapr v1.10.0 版本已发布

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

  4. sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登录

    sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/ 如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它 ...

  5. 用于云计算的自我更新、自我修补的Linux版本已发布!

    自动化是 IT 行业的增长趋势,其目的是消除重复任务中的手动干扰.Oracle 通过推出 Oracle Autonomous Linux 向自动化世界迈出了又一步,这无疑将使 IoT 和云计算行业受益 ...

  6. 云原生生态周报 Vol.9| K8s v1.15 版本发布

    本周作者 | 衷源.心贵 业界要闻 1.Kubernetes Release v1.15 版本发布,新版本的两个主题是持续性改进和可扩展性.(https://github.com/kubernetes ...

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

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

  8. [转贴]CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群

    CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群 http://blog.51cto.com/10880347/2326146   一.概述 kubernetes 1.13 ...

  9. IntelliJ IDEA 发布13版本——创造java奇迹

    IntelliJ IDEA被公认为业界最好的Java开发平台.此次发布的了13版本,更是集合了与Java EE.Android.Spring.Scala和Gradle最新合作与支持. Java EE  ...

  10. Node.js开源应用OSN发布初始V1.0版本-见面版本

    Nodejs开源应用OSN初始版本V1.0发布,请参考本操作说明文档,有任何问题请留言 Nodejs开源应用OSN发布V1.0版本: OSChina收录地址: OSC收录地址:http://www.o ...

随机推荐

  1. [3] 以逆向的角度来看循环语句——do、while、for的比较

    [3] 以逆向的角度来看循环语句--do.while.for的比较 1. do循环 ​ 先执行循环体,后比较判断 #include <stdio.h> int main(int argc, ...

  2. C/C++ 实现FTP文件上传下载

    FTP(文件传输协议)是一种用于在网络上传输文件的标准协议.它属于因特网标准化的协议族之一,为文件的上传.下载和文件管理提供了一种标准化的方法,在Windows系统中操作FTP上传下载可以使用WinI ...

  3. 8.10 TLS线程局部存储反调试

    TLS(Thread Local Storage)用来在进程内部每个线程中存储私有的数据.每个线程都会拥有独立的TLS存储空间,可以在TLS存储空间中保存线程的上下文信息.变量.函数指针等.TLS其目 ...

  4. PXE+Kickstart 自动化部署系统

    PXE 预启动执行环境是由Intel开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统. Kic ...

  5. 使用.NET Core实现不同服务器SQL Server 数据库同步方案

    代码片段: 1 using DataSync.Core; 2 using Furion.Logging.Extensions; 3 using Microsoft.Data.SqlClient; 4 ...

  6. log4cxx配置日期回滚策略中增加MaxFileSize属性

    目录 1.背景 2.实现方式 2.1.DailyRollingFileAppender新增MaxFileSize属性 2.2.TimeBasedRollingPolicy策略新增maxFileSize ...

  7. 基于.NET三维控件的个性化管道软件开发

    1 简介 管道广泛用于化工.工厂.建筑.市政等方面,关系到国计民生.虽然管道设计软件种类繁多,有的也非常强大(然而也非常昂贵),但也并不能完全满足个性化需要. 如何快速开发一款满足自己需求的三维管道设 ...

  8. CF145E Lucky Queries 题解

    题目链接:CF 或者 洛谷 前置知识点:序列操作 本文关键词 约定俗称:因为频繁敲最长不下降子序列 \(LNCS\) 和最长不上升子序列 \(LNIS\) 太麻烦了,下文将 \(000011111\) ...

  9. 基本数据类型(primitive type)

    数据类型 数据类型分为基本数据类型(primitive type)和引用数据类型(reference type) 基本数据类型(primitive type) 数值类型 整数类型 浮点类型 字符类型 ...

  10. 9.文件和异常--《Python编程:从入门到实践》

    9.1 从文件中读取数据   要使用文本文件中的信息,首先需要将信息读取到内存中.为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 9.1.1 读取整个文件 with open( ...