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. python快速入门【六】----真题测试

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  2. 东吴名贤传<一>骆统传

    骆俊,字孝远,会稽郡乌伤县人(今义乌市),少有才干,察孝廉,补尚书郎,擢拜陈相,为东汉末年陈王刘宠的国相,时袁术僭号,兄弟忿争,天下鼎沸,群贼并起,陈与比界,奸慝四布,俊厉威武,保疆境,贼不敢犯.养济 ...

  3. 基于.NET+FreeSql实现的仿掘金专栏前后端分离的CMS

    前言 今天分享一款基于.NET+FreeSql实现的仿掘金专栏前后端分离.支持Docker部署.集成了OAtuh2授权登录.QQ.Github.Gitee快速登录.简单实用的CMS:lin-cms-d ...

  4. 常见的WCF面试问题

    WCF和ASMX WebService的区别是什么? 最基本的区别在于,ASMX或者ASP.NET WebService是用来通过基于HTTP的SOAP来实现通讯.但WCF可以使用任意协议(HTTP, ...

  5. .NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)

    34 | MediatR:轻松实现命令查询职责分离模式(CQRS) 实际上我们在定义我的查询的时候,也可以这样定义,例如我们定义一个 MyOrderQuery,把订单的所有名称都输出出去 namesp ...

  6. MySQL最左匹配原则

    最左匹配原则都是针对联合索引来说的,那么为什么要使用联合索引呢? 一.为什么要使用联合索引? 1.减少开销. 建一个联合索引(col1,col2,col3),实际相当于建了(col1),(col1,c ...

  7. C# 二十年语法变迁之 C# 7参考

    C# 二十年语法变迁之 C# 7参考 https://benbowen.blog/post/two_decades_of_csharp_iii/ 自从 C# 于 2000 年推出以来,该语言的规模已经 ...

  8. android mvvm实例解析

    MVVM架构,将整个应用分为三层,View层,VM层,Model层.其中View层单向引用VM层,VM层单向引用Model层.如上图. 单向引用,而非双向引用,这是MVVM与MVP最大的区别.View ...

  9. 【Unity3D】场景切换、全屏_恢复切换、退出游戏、截屏

    1 前言 ​ 1)场景切换 ​ 场景切换可以使用 SceneManager 的 LoadScene 和 LoadSceneAsync 方法,如下: public static void LoadSce ...

  10. 解决ufw下pptp客户端连接问题

    解决ufw下pptp客户端连接问题 解决ubuntu在启动ufw的情况下pptp客户端无法链接的问题. 修改/etc/ufw/before.rules 在COMMIT之前添加如下内容: -A ufw- ...