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

2022年10月13日正式发布了1.9版本,Dapr v1.9.0 版本提供了几项新功能,包括可插入组件、弹性指标和应用运行状况检查,以及核心运行时和组件中的许多修复。


亮点


可插拔组件

我们现在可以创建称为“可插拔组件”[3]的私有组件。只需使用任何支持gRPC 的语言编写一个带有 gRPC 服务的组件,将二进制文件放入文件系统中,即可开始使用。在Sample 仓库里提供了一个 .NET的模板例子[4]。

可观察性:Open Telemetry(OTEL) 协议支持
OpenTelemetry(OTEL) 将OpenCensus、Zipkin 和OpenTracing等项目组合到标准 API 和规范集中,用于跟踪和指标。在1.9 版本中,Dapr 包括了 对OpenTelemetry的支持[5]。
可观察性:弹性能力指标

已添加用于弹性能力[6]的指标,能够跟踪以下各项的数量:

  • 已加载弹性策略
  • 执行弹性策略的次数
可靠性:应用程序运行状况检查

应用运行状况检查[7]是一项新功能,允许探测应用程序的运行状况并对状态更改做出反应。启用应用程序运行状况检查后,Dapr 运行时将通过 HTTP 或 gRPC 调用定期轮询应用程序。当 Dapr 检测到应用的运行状况出现故障时,它会代表应用程序停止接受新的请求。

可靠性:默认弹性策略

借助弹性策略,我们现在可以设置默认策略[8],这些策略的范围可能很广。这是通过应用于给定策略的保留关键字来完成的。有 3 种默认策略类型:

    • DefaultRetryPolicy
    • DefaultTimeoutPolicy
    • DefaultCircuitBreakerPolicy

如果定义了这些策略,将它们用于对服务、应用程序或组件的每个操作。还可以通过对特定目标使用其他关键字来修改它们以使其更具体。

服务调用:应用中间件

现在,在进行服务到服务调用时,可以使用任何中间件组件。例如,用于零信任环境中的令牌验证或应用 OAuth 策略。服务到服务调用中间件组件[9]适用于从 Dapr sidecar 到接收应用程序的所有传出调用。

发布/订阅:命名空间使用者组

将 Dapr 应用程序部署到所有共享相同app id的不同命名空间,并将所有主题订阅的范围限定在命名空间级别。使用用于发布/订阅的命名空间使用者组[10],开发团队可以重用相同的发布/订阅底层基础架构,而无需根据他们运行的命名空间更改其代码。

相关链接:

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

[2]阅读 Dapr 1.9.0 的发行说明:https://blog.dapr.io/posts/2022/10/13/dapr-v1.9-is-now-available/

[3]可插拔组件: https://v1-9.docs.dapr.io/operations/components/pluggable-components

[4].NET的模板例子:https://github.com/dapr/samples/tree/master/pluggable-components-dotnet-template

[5]对OpenTelemetry的支持:https://v1-9.docs.dapr.io/developing-applications/building-blocks/observability/w3c-tracing-overview/

[6]弹性能力: https://github.com/dapr/dapr/blob/master/docs/development/dapr-metrics.md#resiliency

[7]应用运行状况检查:https://v1-9.docs.dapr.io/operations/observability/app-health

[8]默认策略:https://v1-9.docs.dapr.io/operations/resiliency/policies/#setting-default-policies

[9]服务到服务调用中间件组件:https://v1-9.docs.dapr.io/developing-applications/middleware/#configuring-app-middleware-pipelines

[10]用于发布/订阅的命名空间使用者组: https://v1-9.docs.dapr.io/developing-applications/building-blocks/pubsub/howto-namespace/

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

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

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

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

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

  3. Volcano社区v1.6.0版本正式发布

    摘要:Volcano社区v1.6.0版本正式发布.此次版本增加了弹性作业管理.基于真实负载的动态调度. 基于真实负载的重调度.Volcano Job插件--MPI等多个新特性. 本文分享自华为云社区& ...

  4. RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)

    最新版本请转到:RDIFramework.NET平台代码生成器V3.1版本全新发布-更新于2016-10-08(提供下载) RDIFramework.NET代码生成器V3.0版本修改了针对3.0版本的 ...

  5. 二进制搭建Kubernetes集群(最新v1.16.0版本)

    目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...

  6. RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V3.0 版本强势发布

    继上个版本“RDIFramework.NET V2.9版本”的推出,受到了重多客户的认可与选择,V2.9版本是非常成功与稳定的版本,感谢大家的认可与长期以来的关注与支持.V3.0版本在V2.9版本的基 ...

  7. Apache Hudi 0.6.0版本重磅发布

    1. 下载信息 源码:Apache Hudi 0.6.0 Source Release (asc, sha512) 二进制Jar包:nexus 2. 迁移指南 如果您从0.5.3以前的版本迁移至0.6 ...

  8. Apache Hudi 0.7.0版本重磅发布

    重点特性 1. Clustering 0.7.0版本中支持了对Hudi表数据进行Clustering(对数据按照数据特征进行聚簇,以便优化文件大小和数据布局),Clustering提供了更灵活地方式增 ...

  9. Apache Hudi 0.8.0版本重磅发布

    1. 重点特性 1.1 Flink集成 自从Hudi 0.7.0版本支持Flink写入后,Hudi社区又进一步完善了Flink和Hudi的集成.包括重新设计性能更好.扩展性更好.基于Flink状态索引 ...

随机推荐

  1. Java中break、continue和return三者之间的区别

    控制流程语句 java关键字break.continue.return主要按三个纬度去区分. 作用不同 结束不同 紧跟不同  一.作用不同 1.break:执行break操作,跳出所在的当前整个循环, ...

  2. Docker 01 概述

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  3. 基于bert训练自己的分词系统

    前言 在中文分词领域,已经有着很多优秀的工具,例如: jieba分词 SnowNLP 北京大学PKUse 清华大学THULAC HanLP FoolNLTK 哈工大LTP 斯坦福分词器CoreNLP ...

  4. 全局异常处理及参数校验-SpringBoot 2.7 实战基础 (建议收藏)

    优雅哥 SpringBoot 2.7 实战基础 - 08 - 全局异常处理及参数校验 前后端分离开发非常普遍,后端处理业务,为前端提供接口.服务中总会出现很多运行时异常和业务异常,本文主要讲解在 Sp ...

  5. Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  6. ModelBox开发体验:使用YOLOv3做口罩检测

    摘要:本案例将在ModelBox中使用YOLO v3模型,实现一个简单的口罩检测应用 本文分享自华为云社区<ModelBox开发体验Day05开发案例-使用YOLOv3做口罩检测>,作者: ...

  7. LOJ#6089 小 Y 的背包计数问题 - DP精题

    题面 题解 (本篇文章深度剖析,若想尽快做出题的看官可以参考知名博主某C202044zxy的这篇题解:https://blog.csdn.net/C202044zxy/article/details/ ...

  8. React报错之Parameter 'props' implicitly has an 'any' type

    正文从这开始~ 总览 当我们没有为函数组件或者类组件的props声明类型,或忘记为React安装类型声明文件时,会产生"Parameter 'props' implicitly has an ...

  9. Linux常用基础命令三

    一.ln 软链接 软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径. 在查看文件目录中,软连接是以'l'开头 创建软链接 ln -s [原文件 ...

  10. 在Apache Cassandra数据库软件中报告高严重性RCE安全漏洞

    研究人员披露了ApacheCassandra一个现已修补的高严重性安全漏洞的细节,如果这个漏洞得不到解决,可能会被滥用来获取受影响安装的远程代码执行(RCE). DevOps公司JFrog的安全研究员 ...