Skip to content

Commit d38112d

Browse files
authored
Merge pull request #369 from faweizhao26/blog
add zh release v1.1.0
2 parents 268f335 + 05e52e1 commit d38112d

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: "OpenFunction v1.1.0 发布:支持 Dapr 状态管理,重构函数触发器"
3+
linkTitle: "Release v1.1.0"
4+
date: 2023-06-12
5+
weight: 92
6+
---
7+
8+
[OpenFunction](https://github.com/OpenFunction/OpenFunction) 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发。在过去的几个月里,OpenFunction 社区一直在努力工作,为 OpenFunction 1.1.0 版本的发布做准备。今天,我们非常高兴地宣布 OpenFunction 1.1.0 已经发布了!感谢社区各位小伙伴的贡献和反馈!
9+
10+
OpenFunction 1.1.0 版本带来了两个新的功能:新增 v1beta2 API,支持 Dapr 状态管理。此外,该版本还有多项强化(重构函数触发器等)及 bug 修复,使 OpenFunction 更加稳定和易用。
11+
12+
以下是本次版本更新的主要内容:
13+
14+
## 新增 v1beta2 API
15+
16+
在此版本中,我们新增了 v1beta2 API,原 v1beta1 API 已弃用,将来会被删除。v1beta2 中有不少重构,你可以在这个 [proposal](https://github.com/OpenFunction/OpenFunction/blob/main/docs/proposals/20230330-support-dapr-state-management.md) 中了解更多细节。
17+
18+
## 支持 Dapr 状态管理
19+
20+
之前,OpenFunction 支持 Dapr 发布/订阅和绑定构建块,状态管理也是有用的构建块之一,它对于具有状态的函数非常有用。使用状态存储组件,您可以构建具有持久状态的函数,这些函数可以保存和恢复它们的状态。
21+
22+
现在你可以在 Function CR 中定义状态存储,OpenFunction 将管理相应的 Dapr 组件。
23+
24+
你的函数可以使用简单封装的 Dapr 的状态管理 API 来保存、读取和查询定义的状态存储中的键/值对。
25+
26+
## 重构函数触发器
27+
28+
之前,我们使用 `runtime: knative``runtime: async` 来区分同步和异步函数,这会增加学习曲线。实际上,同步和异步函数之间的区别在于触发类型:
29+
30+
- 同步函数由 HTTP 事件触发,这可以通过指定 `runtime: knative` 来定义。
31+
- 异步函数由 Dapr 绑定组件或 Dapr 发布者事件触发。要指定异步函数的触发器,必须同时使用 `runtime: async``inputs`
32+
33+
因此,我们可以使用 `triggers` 来替代 `runtime``inputs`
34+
35+
`HTTP Trigger` 通过 HTTP 请求触发一个函数。您可以这样定义一个 `HTTP Trigger`
36+
37+
```yaml
38+
apiVersion: core.openfunction.io/v1beta2
39+
kind: Function
40+
metadata:
41+
name: function-sample
42+
spec:
43+
serving:
44+
triggers:
45+
http:
46+
port: 8080
47+
route:
48+
rules:
49+
- matches:
50+
- path:
51+
type: PathPrefix
52+
value: /echo
53+
```
54+
55+
`Dapr Trigger` 使用 `Dapr bindings` 或 `Dapr pubsub` 的事件触发一个函数。你可以用 `Dapr Trigger` 定义一个函数:
56+
57+
```yaml
58+
apiVersion: core.openfunction.io/v1beta2
59+
kind: Function
60+
metadata:
61+
name: logs-async-handler
62+
namespace: default
63+
spec:
64+
serving:
65+
bindings:
66+
kafka-receiver:
67+
metadata:
68+
- name: brokers
69+
value: kafka-server-kafka-brokers:9092
70+
- name: authRequired
71+
value: "false"
72+
- name: publishTopic
73+
value: logs
74+
- name: topics
75+
value: logs
76+
- name: consumerGroup
77+
value: logs-handler
78+
type: bindings.kafka
79+
version: v1
80+
triggers:
81+
dapr:
82+
- name: kafka-receiver
83+
type: bindings.kafka
84+
```
85+
86+
## 其他改进和优化
87+
88+
- 从网关状态中删除 lastTransitionTime 字段,以防止频繁触发 reconcile。
89+
- 允许在创建 Dapr 组件时设置作用域。
90+
- 使用 OpenFunction 策略时,支持设置缓存镜像以提高构建性能。
91+
- 支持设置 OpenFunction 构建策略的 bash 镜像。
92+
93+
以上就是 OpenFunction v1.1.0 的主要功能变化,在此十分感谢各位贡献者的参与和贡献。如果您正在寻找一款高效、灵活的云原生函数开发平台,那么 OpenFunction v1.1.0 绝对不容错过。
94+
95+
了解更多关于 OpenFunction 和本次版本更新的信息,欢迎访问我们的官方网站和 Github 页面。
96+
97+
- [官网](https://openfunction.dev/):https://openfunction.dev/
98+
- [Github](https://github.com/OpenFunction/OpenFunction/releases/tag/v1.1.0):https://github.com/OpenFunction/OpenFunction/releases/tag/v1.1.0

0 commit comments

Comments
 (0)