大家好!今天给大家带来一个好消息,Dapr(Distributed Application Runtime)1.15版本正式发布啦!对于不熟悉Dapr的朋友来说,Dapr是一个开源的、跨平台的运行时,它简化了微服务架构中的许多复杂问题,比如服务发现、配置管理、状态管理等。那么,Dapr 1.15版本都带来了哪些新特性和改进呢?让我们一起来看看吧!

1. Dapr Workflow(稳定版)

首先,Dapr Workflow在1.15版本中正式进入稳定阶段。这意味着你现在可以放心地使用Dapr Workflow来编写长期运行的有状态应用,而不用担心它会“翻车”。Workflow不仅支持持久化执行,还能实现动态扩展,让你的应用在运行时可以根据需求增加或减少副本数,同时还能保持任务的持久性。这对于需要处理大量复杂业务逻辑的应用来说,简直是个福音!

2. Dapr Actors重写

在1.15版本中,Dapr Actors的运行时引擎也进行了重写。虽然API层面没有变化,但这次重写显著提高了Actor在大规模和动态扩展环境中的可靠性和稳定性。更棒的是,这次重写还为未来实现更多高级Actor API和与其他系统的集成打下了坚实的基础。

3. Scheduler Service(稳定版)

Scheduler Service是Dapr中用于调度作业的控制平面服务,它在1.15版本中也正式稳定了。这意味着你可以放心地在生产环境中使用它来管理你的定时任务或周期性作业。现在,当你升级到1.15版本时,所有新的Actor提醒都会默认使用Scheduler Service,而不再是之前的Placement Service。当然,你也可以通过配置来选择是否迁移现有的Actor提醒。

4. Conversation API(Alpha版)

Dapr 1.15还引入了一个新的Conversation API(目前处于Alpha阶段)。这个API可以帮助你更轻松地与大型语言模型(LLM)进行交互,比如OpenAI的GPT系列模型。通过Conversation API,你可以发送提示和接收LLM的响应,同时还支持性能优化和安全功能,比如缓存提示以减少调用次数和隐藏个人信息(PII)以保护隐私。

5. SDK改进

在SDK方面,各个语言的SDK都进行了不同程度的更新和改进。比如:

  • .NET SDK:增加了对Jobs、Conversation和流式Pub/Sub API的支持,同时支持.NET 9。
  • Python SDK:增加了对流式Pub/Sub API和Conversation API的支持,还引入了Mock actors用于单元测试。
  • Java SDK:增加了Spring Boot集成,支持自动注入DaprClient和DaprWorkflowClient等。
  • Go SDK:增加了对Conversation API的支持,同时Workflow的编写和管理也达到了稳定状态。

6. 升级指南

如果你已经在使用Dapr,并且想要升级到1.15版本,那么不用担心,Dapr团队已经为你准备了详细的升级指南。无论你是在本地机器上运行Dapr,还是在Kubernetes集群中部署Dapr,都可以按照指南轻松完成升级。当然,升级过程中可能会遇到一些不兼容的变更,所以请务必仔细阅读升级指南中的“Breaking Changes”部分。

结语

总的来说,Dapr 1.15版本带来了许多令人兴奋的新特性和改进。无论是Workflow的稳定版发布,还是Scheduler Service的成熟应用,都让我们看到了Dapr在微服务架构中的巨大潜力。如果你还没有尝试过Dapr,那么现在正是一个好时机!赶紧来体验一下这个强大的微服务运行时吧!

最后说个冷笑话:使用Dapr后,你的代码量可能减少,但头发量一定会增加。1.15版本更推荐搭配咖啡饮用。官方博客文章有更详细的内容:https://blog.dapr.io/posts/2025/02/27/dapr-v1.15-is-now-available/

白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了的更多相关文章

  1. 面试都在问的「微服务」「RPC」「服务治理」「下一代微服务」一文带你彻底搞懂!

    ❝ 文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) ❞ 单体式应用程序 与微服务相对的另一个概念是传统的「单体式应用程 ...

  2. 「 从0到1学习微服务SpringCloud 」03 Eureka的自我保护机制

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 Eureka的高可用需要 ...

  3. 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  4. 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  5. 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  6. 「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  7. 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  8. 「 从0到1学习微服务SpringCloud 」05服务消费者Fegin

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  9. 「 从0到1学习微服务SpringCloud 」04服务消费者Ribbon+RestTemplate

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  10. 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! Spring Cloud Eureka 基于Netflix Eureka做了二次封装(Spring Clo ...

随机推荐

  1. 8.mysql表分区

    MySQL表分区 表分区是将⼀个表的数据按照⼀定的规则⽔平划分为不同的逻辑块,并分别进⾏物理存储,这个规则就叫做分区函数,可以有不同的分区规则 5.7可以通过show plugins语句查看当前MyS ...

  2. 龙哥量化:期货软件中红红绿绿的"多开,空开,空平,多平,多换,空换,双开,双平,换手"是什么意思?(转载的)

    期货投资者在看盘时,会看到红红绿绿的"多开,空开,空平,多平,多换,空换,双开,双平,换手",以快期专业版为例,如下图1所示: 图1.红绿开平数据(快期专业版) 这些数据里面的红色 ...

  3. 查看MySQL数据库所有的表名、表注释、字段名称、类型、长度、备注,一键导出生成数据库字典

    一.先了解下INFORMATION_SCHEMA1.在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信 ...

  4. 基于Vue的前后段分离开发项目中<img :src />标签中引用vue的data属性中定义的图像地址失败的解决办法

    问题描述: 基于Vue的前后段分离开发项目中<img  :src />标签中引用vue的data属性中定义的图像地址失败,如下图所示: 解决办法: 修改后写法,加上require即可.如下 ...

  5. spark (一) 入门 & 安装

    目录 基本概念 spark 核心模块 spark core (核心) spark sql (结构化数据操作) spark streaming (流式数据操作) 部署模式 local(本地模式) sta ...

  6. 【Java 温故而知新系列】基础知识-01 概述

    1.什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承. 指针等概念,因此Java语言具有功能强大和简单易 用两个特征.Java语言作为 ...

  7. Java方法引用、lambda如何序列化&方法引用与lambda实现原理

    系列文章目录和关于我 0.引入 最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io. ...

  8. shell脚本输出带文本颜色背景颜色自定义样式格式内容

    shell脚本中 echo 和 printf 都可以输出内容.示例1: echo -e "\033[43;35m david use echo say Hello World \033[0m ...

  9. Java一个入门级MVC基于Spring Boot项目

    首先根据上一篇文章内容创建一个Spring Boot项目,如图所示: 一,创建Controller并返回数据 在src/main/java/项目文件夹下面创建package,继续里面可以创建模块的pa ...

  10. 基于MPC的快速transformer安全推理框架

    论文:一种基于安全多方计算的快速Transformer安全推理方案-刘伟欣 摘要 数据隐私泄露问题:当前Transformer推理应用中用户的数据会被泄露给模型提供方 安全推理方法:基于MPC实现Tr ...