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 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/555361.html
標籤:其他
下一篇:返回列表
