OpenFunction v0.8.0 发布:通过 Dapr Proxy 加速函数启动
相较于其他函数计算项目,OpenFunction 有很多独特的功能,其中之一便是通过 Dapr 与各种后端服务(BaaS)无缝集成。目前 OpenFunction 已经支持了 Dapr 的 pub/sub 和 bindings 构建模块,未来还会支持更多功能。截止到 v0.7.0,OpenFunction 与 BaaS 的集成还不算特别丝滑,需要在每个函数实例的 Pod 中注入一个 Dapr Sidecar 容器,这就会导致一个问题:整个函数实例的启动时间会受到 Dapr Sidecar 容器启动时间的影响,甚至 Dapr Sidecar 容器可能会比函数容器本身消耗的资源更多。
为了解决这个问题,OpenFunction 发布了 v0.8.0,引入了 Dapr Standalone 模式。
Dapr Standalone 模式
在新的 Dapr Standalone 模式中,无需为每个函数实例启动一个独立的 Dapr Sidecar 容器,而是为每个函数创建一个 Dapr Proxy 服务,这个函数的所有实例都会共享这个 Dapr Proxy 服务,大大减少了函数的启动时间。

如何选择 Dapr 服务模式
当然,除了新增的 Dapr Standalone 模式之外,您还可以继续选择使用 Dapr Sidecar 模式,建议您根据自己的实际业务来选择合适的 Dapr 服务模式。默认推荐使用 Dapr Standalone 模式,如果您的函数实例不需要频繁伸缩,或者由于一些其他原因无法使用 Dapr Standalone 模式,则可以使用 Dpar Sidecar 模式。
您可以通过在自定义资源 Function 中添加 spec.serving.annotations 来控制使用何种 Dapr 模式与 BaaS 集成,总共有两个 annotations:
openfunction.io/enable-dapr:可以设置为true或者false;openfunction.io/dapr-service-mode:可以设置为standalone或者sidecar。
当 openfunction.io/enable-dapr 设置为 true 时,可以调整 openfunction.io/dapr-service-mode 的值来选择不同的 Dapr 服务模式。
当 openfunction.io/enable-dapr 设置为 false 时,openfunction.io/dapr-service-mode 的值会被忽略,Dapr Standalone 模式与 Dapr Sidecar 模式都不会启用。
这两个 annotations 的默认值如下:
- 如果 Function 中没有添加
spec.serving.annotations配置块,并且 Function 中包含spec.serving.inputs和spec.serving.outputs配置块,openfunction.io/enable-dapr会被自动设置为true;否则openfunction.io/enable-dapr就会被设置为false。 openfunction.io/dapr-service-mode默认值是standalone。
示例:
apiVersion: core.openfunction.io/v1beta1
kind: Function
metadata:
name: cron-input-kafka-output
spec:
...
serving:
annotations:
openfunction.io/enable-dapr: "true"
openfunction.io/dapr-service-mode: "standalone"
template:
containers:
- name: function # DO NOT change this
imagePullPolicy: IfNotPresent
runtime: "async"
inputs:
- name: cron
component: cron
outputs:
- name: sample
component: kafka-server
operation: "create"
...
关于 v0.8.0 的更多发版细节可以参考 OpenFunction v0.8.0 的 Release Notes。
本文由博客一文多发平台 OpenWrite 发布!
OpenFunction v0.8.0 发布:通过 Dapr Proxy 加速函数启动的更多相关文章
- LAL v0.32.0发布,更好的支持纯视频流
Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本.距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态. LAL 项目地址:https://github.com/q19120177 ...
- terraform v0.12.0 发布了
v0.12.0 相比以前的有好多新的特性,包括语法,以及函数增强,昨天还在折腾的一个json解码的问题,直接使用 v0.12.0 就可以解决了,同时也包含了for 操作处理同时官方文档对于v0.12. ...
- Plink v0.1.0 发布——基于Flink的流处理平台
Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台. 提供常见的作业管理功能.如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配 ...
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?
服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...
- [译]基于ASP.NET Core 3.0的ABP v0.21已发布
基于ASP.NET Core 3.0的ABP v0.21已发布 在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了. v0.21没有新功能.它只是升级到 ...
- GraphScope v0.12.0 版本发布
GraphScope 每月进行常规版本的迭代与发布,GraphScope v0.12.0 全新版本在四月如期而至.v0.12.0 为交互式图查询 GAIA 引入全新的 IR 层以及新增 Giraph ...
- Kurator v0.3.0版本发布
摘要:2023年4月8日,Kurator正式发布v0.3.0版本. 本文分享自华为云社区<华为云 Kurator v0.3.0 版本发布!集群舰队助力分布式云统一管理>,作者:云容器大未来 ...
- SpaceVim 发布 v0.8.0
This project exists thanks to all the people who have contributed. The last release v0.7.0 is target ...
- 开源社交系统ThinkSNS+ V0.8.0 正式发布(一期功能版本)
智士软件旗下开源sns社交系统ThinkSNS即将进入10周年,推出并行两代系统ThinkSNSV4和ThinkSNS+,以专业易用的技术源码输出,驱动互联网社交软件建设及创业,使用ThinkSNS改 ...
- 分布式边缘容器项目 SuperEdge v0.7.0 版本来袭!
作者 SuperEdge 开发者团队,腾讯云容器中心TKE Edge团队 摘要 SuperEdge是基于原生Kubernetes的分布式边缘云容器管理系统,由腾讯云牵头,联合英特尔.VMware威睿. ...
随机推荐
- 特斯拉在感知网络架构引入BEV三维空间转化层
Learnging Where To Look End-to-End
- 数字人 —— 虚拟人 —— Inworld AI用生成式AI——生成式游戏NPC
相关: https://www.ithome.com/0/756/603.htm https://baijiahao.baidu.com/s?id=1774732295233220838 https: ...
- 【VMware vCenter】一次性说清楚 vCenter Server 的 CLI 部署方式。
VMware vCenter Server 是 VMware vSphere 解决方案的核心组件,用于管理多个 ESXi 主机并实现更多高级功能特性(如 HA.DRS 以及 FT 等),相信大家已经非 ...
- Quartz.NET 的使用
先貼使用代碼: 1 using Quartz; 2 using Quartz.Impl; 3 using Quartz.Logging; 4 using System; 5 using System. ...
- SMU Autumn 2023 Round 2(Div.1+2)
SMU Autumn 2023 Round 2(Div.1+2) C. Chaotic Construction 把环展开的话就是\(1 \sim 2n\),若\(D\)的位置放上路障的话,在这个展开 ...
- Plateau-Rayleigh 不稳定性 + Young-Laplace 方程
考虑竖直下落水柱中的 \(AB\) 两点 \[\begin{matrix} \displaystyle\frac12\rho U_0^2+\rho gz+P_A=\frac12\rho U^2(z)+ ...
- Java——N以内累加求和
2024/07/15 1.题目 2.错误 3.分析 4.答案 1.题目 2.错误 import java.util.Scanner; public class Main { public static ...
- 已知两个长度分别为m和n的升序链表,若将它们合并为长度为m+n的一个降序链表,则最坏情况下的时间复杂度是
已知两个长度分别为m和n的升序链表,若将它们合并为长度为m+n的一个降序链表,则最坏情况下的时间复杂度是(). 解析:选D 两个升序合并为降序,操作就不多说了,两数列依次比较放入,其中一个数列结束了, ...
- sql 查询表数据
SELECT s.Name AS SchemaName, t.Name AS TableName, p.rows AS RowCounts--, --CAST(ROUND((SUM(a.used_pa ...
- 官方 | 征集 Flutter 桌面端应用程序的构建案例
亲爱的社区成员们,大家好! Google Flutter 团队希望了解开发者们使用 Flutter 构建的桌面端应用程序,以提高 Flutter 桌面端的测试覆盖率,邀请大家通过表单的形式提交征集和反 ...