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. 妙用 CSS 构建花式透视背景效果

    本文将介绍一种巧用 background 配合 backdrop- filter 来构建有趣的透视背景效果的方式. 本技巧源自于一名群友的提问,如何构建如 ElementUI 文档的一种顶栏背景特效, ...

  2. 十周周末总结 MySQL的介绍与使用

    python 十周周末总结 MySQL的介绍与使用 MySQL字符编码与配置文件 查看数据库的基本信息(用户,字符编码) /s windos下MySQL默认的配置文件 my_default.ini 修 ...

  3. scratch制作彩虹猫病毒模拟器

    scratch制作彩虹猫病毒模拟器 hello,大家好. 编程慢慢更加接近生活,甚至小孩也开始学了,比如scratch编程,小编今天就带了一件作品(彩虹猫病毒模拟器) 我们先看一下效果| 做的还可以, ...

  4. mybatisplus-Service CRUD 接口

    通用 Service CRUD 封装IService (opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前 ...

  5. CF593D Happy Tree Party(不用树剖)

    题面 题解 我们发现,对于除法有效的xi最小为2,yi最多除log次就会变成0,所以我们可以每次找路径上下一个>=2的xi,暴力除,当发现y=0时就停止 于是我们维护每个点向上走一直走到根最近的 ...

  6. Math_Music

    查看代码 #REmoo的优化任务 #1.公式写在<formula_set>类中,统一管理 --- Finished 2022.8.15 12:39 #2.建立<sample_set& ...

  7. ubuntu 16.04 搭建docker

    1.为确保运行的不是旧版Docker sudo apt-get remove docker docker-engine docker.io 2.添加Docker COmmunity Edition 所 ...

  8. KingbaseES R6 主备流复制集群创建级联复制案例

    案例环境: 数据库: test=# select version(); version -------------------------------------------------------- ...

  9. 小结event.target与this

    <!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <t ...

  10. 新一代网络请求库:python-httpx库

    目录 httpx库 一. 概述 1. 简介 2. 命令行模式 3. 快速开始 3.1 get请求 3.2 post请求 3.2.1 表单 3.2.2 文件 3.2.3 JSON 3.2.4 二进制 3 ...