• Dapr v1.13 版本已发布


    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

  • 相关阅读:
    rabbitMQ的生产与消费由Kettle实现
    Python 数据结构和算法实用指南(三)
    Windows10家庭版安装docker toolbox的坑
    多御安全浏览器升级1.7.6版,新增扫描二维码功能
    [手撕STL] string类
    【优化调度】粒子群算法求解水火电调度优化问题【含Matlab源码 1181期】
    2022年世界大学声誉排名(完整版)
    【分享】7-Zip压缩包的密码可以取消吗?
    echarts 双堆叠柱状图(数据整理)
    监狱工具管理系统-监狱劳动工具管理系统
  • 原文地址:https://www.cnblogs.com/shanyou/p/18057608