共计 1910 个字符,预计需要花费 5 分钟才能阅读完成。
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 公布!