OpenFunction v1.1.0 released: Added v1beta2 API, supports Dapr state management

OpenFunction is an open source cloud-native FaaS (Function as a Service) platform designed to help developers focus on business logic research and development. Over the past few months, the OpenFunction community has been hard at work preparing for the OpenFunction 1.1.0 release. Today, we are very happy to announce that OpenFunction 1.1.0 has been released! Thank you for your contributions and feedback from the community!

OpenFunction 1.1.0 version brings two new features: Added v1beta2 API and supports Dapr state management. In addition, this version has a number of enhancements and bug fixes, making OpenFunction more stable and easy to use.

The following are the main contents of this version update:

Added v1beta2 API

In this release, we have added the v1beta2 API, the original v1beta1 API is deprecated and will be removed in the future. There are quite a few refactorings in v1beta2, you can read more details in this proposal .

Support Dapr state management

Previously, OpenFunction supported Dapr publish/subscribe and binding building blocks, and state management is also one of the useful building blocks, which is very useful for functions with state. Using the state store component, you can build functions with persistent state that can save and restore their state.

Now you can define state stores in Function CR and OpenFunction will manage the corresponding Dapr components.

Your functions can use a simple wrapper around Dapr's state management API to save, read, and query key/value pairs in the defined state store.

Unified definition of synchronous and asynchronous functions

Previously, we used runtime: knativeand runtime: asyncto distinguish between synchronous and asynchronous functions, which increased the learning curve. Actually, the difference between synchronous and asynchronous functions is the trigger type:

  • Synchronous functions are triggered by HTTP events, which can be runtime: knativedefined by specifying .
  • Asynchronous functions are triggered by Dapr bound components or Dapr Publisher events. To specify a trigger for an asynchronous function, you must use both runtime: asyncand inputs.

Therefore, we can use triggersinstead of runtimeand inputs.

HTTP TriggerA function is triggered by an HTTP request. You can define one like this 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 TriggerUse Dapr bindingsthe or Dapr pubsubevent to trigger a function. You can Dapr Triggerdefine a function with:

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

Other improvements and optimizations

  • Remove lastTransitionTime field from gateway state to prevent frequent triggering of reconcile.
  • Allows setting scopes when creating Dapr components.
  • When using the OpenFunction strategy, there is support for setting cache mirroring to improve build performance.
  • A bash image that supports setting the OpenFunction build policy.

The above are the main function changes of OpenFunction v1.1.0. I would like to thank all contributors for their participation and contributions. If you are looking for an efficient and flexible cloud-native function development platform, then OpenFunction v1.1.0 is definitely not to be missed.

To learn more about OpenFunction and this version update, welcome to visit our official website and Github page.

This article is published by OpenWrite, a multi-post platform for blogging !

RustDesk 1.2: Using Flutter to rewrite the desktop version, supporting Wayland accused of deepin V23 successfully adapting to WSL 8 programming languages ​​​​with the most demand in 2023: PHP is strong, C/C++ demand slows down React is experiencing the moment of Angular.js? The CentOS project claims to be "open to everyone" MySQL 8.1 and MySQL 8.0.34 are officially released Rust 1.71.0 stable version is released Programmer's Notes CherryTree 1.0.0.0 is released
{{o.name}}
{{m.name}}

おすすめ

転載: my.oschina.net/u/4197945/blog/10083114