大家好!今天给大家带来一个好消息,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. Anaconda功能、优点、安装步骤(安装视频)

    目录 介绍 功能(包和环境的管理器) 优点(省时省心) 下载地址 安装教程 要点 conda 的常见命令 查询完整帮助文件 管理conda和anaconda 管理环境 包管理 其他 ​ 介绍 Anac ...

  2. Qt/C++编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等)

    一.前言 大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴着操 ...

  3. Qt编写安防视频监控系统40-onvif线程处理

    一.前言 整个onvif模块大部分的功能都有了以后,除了在demo上点点按钮可以执行获取结果显示外,最终还是要应用到视频监控中,在按钮上点点和系统中后台自动运行是两码事,比如onvif校时和事件订阅, ...

  4. Qt开发经验小技巧146-150

    Qt中自带的很多控件,其实都是由一堆基础控件(QLabel.QPushButton等)组成的,比如日历面板 QCalendarWidget 就是 QToolButton+QSpinBox+QTable ...

  5. Qt编写地图综合应用24-miniblink内核

    一.前言 用Qt做项目过程中,遇到需要用到浏览器控件的项目,可能都会绕不开一个问题,那就是从Qt5.6版本开始mingw编译器的Qt构建套件,不再提供浏览器控件了,之前还可以用webkit控件,这下很 ...

  6. 尝试 vmware 16.0.0 过虚拟化 过xf虚拟机检测

    前言 最新想在vmware虚拟机上玩xf,网上找了不少教程,于是打算自己尝试下. 如果可以修改成功的话,其价值嘛不可估量. 环境 vmware版本是16.0.0,已安装VMware Tools vmw ...

  7. 网页端IM通信技术快速入门:短轮询、长轮询、SSE、WebSocket

    本文来自"糊糊糊糊糊了"的分享,原题<实时消息推送整理>,有优化和改动. 1.写在前面 对Web端即时通讯技术熟悉的开发者来说,我们回顾网页端IM的底层通信技术,从短轮 ...

  8. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.1版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  9. 如何设计一个注册中心?以Zookeeper为例

    这是小卷对分布式系统架构学习的第8篇文章,在写第2篇文章已经讲过服务发现了,现在就从组件工作原理入手,讲讲注册中心 以下是面试题: 某团面试官:你来说说怎么设计一个注册中心? 我:注册中心嘛,就要有服 ...

  10. pyspider安装使用遇到的坑

    一.pip install pyspider 安装出现错误: Command "python setup.py egg_info" failed with error code 1 ...