OpenFunction v1.1.0 发布:新增 v1beta2 API,支持 Dapr 状态管理
OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发。在过去的几个月里,OpenFunction 社区一直在努力工作,为 OpenFunction 1.1.0 版本的发布做准备。今天,我们非常高兴地宣布 OpenFunction 1.1.0 已经发布了!感谢社区各位小伙伴的贡献和反馈!
OpenFunction 1.1.0 版本带来了两个新的功能:新增 v1beta2 API,支持 Dapr 状态管理。此外,该版本还有多项强化及 bug 修复,使 OpenFunction 更加稳定和易用。
以下是本次版本更新的主要内容:
新增 v1beta2 API
在此版本中,我们新增了 v1beta2 API,原 v1beta1 API 已弃用,将来会被删除。v1beta2 中有不少重构,你可以在这个 proposal 中了解更多细节。
支持 Dapr 状态管理
之前,OpenFunction 支持 Dapr 发布/订阅和绑定构建块,状态管理也是有用的构建块之一,它对于具有状态的函数非常有用。使用状态存储组件,您可以构建具有持久状态的函数,这些函数可以保存和恢复它们的状态。
现在你可以在 Function CR 中定义状态存储,OpenFunction 将管理相应的 Dapr 组件。
你的函数可以使用简单封装的 Dapr 的状态管理 API 来保存、读取和查询定义的状态存储中的键/值对。
统一同步和异步函数的定义
之前,我们使用 runtime: knative
和 runtime: async
来区分同步和异步函数,这会增加学习曲线。实际上,同步和异步函数之间的区别在于触发类型:
- 同步函数由 HTTP 事件触发,这可以通过指定
runtime: knative
来定义。 - 异步函数由 Dapr 绑定组件或 Dapr 发布者事件触发。要指定异步函数的触发器,必须同时使用
runtime: async
和inputs
。
因此,我们可以使用 triggers
来替代 runtime
和 inputs
。
HTTP Trigger
通过 HTTP 请求触发一个函数。您可以这样定义一个 HTTP Trigger
:
apiVersion: core.openfunction.io/v1beta2
kind: Function
metadata:
name: function-sample
spec:
serving:
triggers:
http:
port: 8080
route:
rules:
- matches:
- path:
type: PathPrefix
value: /echo
Dapr Trigger
使用 Dapr bindings
或 Dapr pubsub
的事件触发一个函数。你可以用 Dapr Trigger
定义一个函数:
apiVersion: core.openfunction.io/v1beta2
kind: Function
metadata:
name: logs-async-handler
namespace: default
spec:
serving:
bindings:
kafka-receiver:
metadata:
- name: brokers
value: kafka-server-kafka-brokers:9092
- name: authRequired
value: "false"
- name: publishTopic
value: logs
- name: topics
value: logs
- name: consumerGroup
value: logs-handler
type: bindings.kafka
version: v1
triggers:
dapr:
- name: kafka-receiver
type: bindings.kafka
其他改进和优化
- 从网关状态中删除 lastTransitionTime 字段,以防止频繁触发 reconcile。
- 允许在创建 Dapr 组件时设置作用域。
- 使用 OpenFunction 策略时,支持设置缓存镜像以提高构建性能。
- 支持设置 OpenFunction 构建策略的 bash 镜像。
以上就是 OpenFunction v1.1.0 的主要功能变化,在此十分感谢各位贡献者的参与和贡献。如果您正在寻找一款高效、灵活的云原生函数开发平台,那么 OpenFunction v1.1.0 绝对不容错过。
了解更多关于 OpenFunction 和本次版本更新的信息,欢迎访问我们的官方网站和 Github 页面。
- 官网:https://openfunction.dev/
- Github:https://github.com/OpenFunction/OpenFunction/releases/tag/v1.1.0
本文由博客一文多发平台 OpenWrite 发布!
OpenFunction v1.1.0 发布:新增 v1beta2 API,支持 Dapr 状态管理的更多相关文章
- Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能
在Kube-OVN社区小伙伴的共同努力下,Kube-OVN v1.10.0于五月份正式发布.Kube-OVN v1.10.0版本中,我们一如既往地对Kube-OVN 的功能.性能.稳定性和易用性进行了 ...
- 第30月第11天 Xcode 9.0中新增的API版本检查@available
1.Xcode 9.0中新增的API版本检查@available https://www.jianshu.com/p/0a94baa6c3dd https://www.jianshu.com/p/b8 ...
- RapidJSON v1.1.0 发布简介
时隔 15.6 个月,终于发布了一个新版本 v1.1.0. 新版本除了包含了这些日子收集到的无数的小改进及 bug fixes,也有一些新功能.本文尝试从使用者的角度,简单介绍一下这些功能和沿由. P ...
- FineUIMvc v1.4.0 发布了(ASP.NET MVC控件库)!
FineUIMvc v1.4.0 已经于 2017-06-30 发布,FineUIMvc 是基于 jQuery 的专业 ASP.NET MVC 控件库,是我们的新产品.由于和 FineUI(专业版)共 ...
- Jsonnet-PHP v1.3.0 发布,支持 PHP 7 使用 Jsonnet
JsonNet-PHP 是 Google Jsonnet 对 PHP的支持扩展. pecl: http://pecl.php.net/package/jsonnet github: https://g ...
- CoreWCF 1.0.0 发布,微软正式支持WCF
2022年4月28日,我们达到了一个重要的里程碑,并发布了CoreWCF的1.0.0版本.对Matt Connew (微软WCF团队成员)来说,这是5年前即 2017年1月开始的漫长旅程的结束.Mat ...
- MVC4.0 WebApi如何设置api支持namespace
1.自定义HttpControllerSelector /// <summary> /// 设置api支持namespace /// </summary> public cla ...
- React 新 Context API 在前端状态管理的实践
本文转载至:今日头条技术博客 众所周知,React的单向数据流模式导致状态只能一级一级的由父组件传递到子组件,在大中型应用中较为繁琐不好管理,通常我们需要使用Redux来帮助我们进行管理,然而随着Re ...
- Solon Java Framework v1.12.0 发布
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- Yearning v1.3.0 发布,Web 端 SQL 审核平台
企业级MYSQL web端 SQL审核平台. Website 官网 www.yearning.io Feature 功能 数据库字典自动生成 SQL查询 查询工单 导出 自动补全,智能提示 查询语句审 ...
随机推荐
- AI实践者师生夏令营讲座视频:南京大学Lamda实验室(周志华 团队)讲座视频 —— 强化学习的局限性与展望
视频地址: 周志华团队与Intel团队的讲座视频--强化学习的局限性与未来展望 视频链接地址: https://bizwebcast.smarket.com.cn/b975d6d9969a42cba9 ...
- FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ.微信为代表的即时通信工具,能够实时传输文本和图片.其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊. 除了常见的图文即时通信, ...
- AtCoder Beginner Contest 318
AtCoder Beginner Contest 318 A - Full Moon (atcoder.jp) 以\(M\)为首项,\(P\)为公差,看\(1 \sim N\)里包含了多少项的个数 # ...
- nvic stm32g0
STM32G0 32个可屏蔽中断通道 4个可编程优先等级(抢占等级:0~3) 低延时异常和中断处理 电源管理控制
- 折腾 Quickwit,Rust 编写的分布式搜索引擎(专为从对象存储中实现亚秒级搜索而设计)
什么是 Quickwit? Quickwit 是首个能在云端存储上直接执行复杂的搜索与分析查询的引擎,并且具有亚秒级延迟.它借助 Rust 语言和分离计算与存储的架构设计,旨在实现资源高效利用.易于操 ...
- 使用 Portainer CE 管理 Docker
此文档参考官方文档 Install Portainer CE with Docker on Linux 编写. 创建容器 docker volume create portainer_data 启动 ...
- Qemu - 介绍
Ref: QEMU支持3种运行模式 -- 理解 https://www.minitool.com/partition-disk/qemu-for-windows.html
- Java 1.8 Stream流原理与用法总结
一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心 ...
- 微前端实践MicroApp
微前端实践 本文主要是关于microApp的实践过程记录 本文主要内容如下: 什么是MicroApp? MicroApp的父子通讯方式以及路由介绍 如何部署相关应用? 安装 npm i @micro- ...
- PageHeper
PageHelper 是一个非常流行的 MyBatis 分页插件,主要用于简化分页查询的实现.使用 PageHelper 可以在执行数据库查询时,自动处理分页参数,从而避免手动编写繁琐的分页逻辑. 今 ...