OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮忙开发者专一于业务逻辑的研发。在过来的几个月里,OpenFunction 社区始终在致力工作,为 OpenFunction 0.6.0 版本的公布做筹备。明天,咱们非常高兴地发表 OpenFunction 0.6.0 曾经正式公布了!感激社区各位小伙伴对新性能、加强性能和谬误修复的各种帮忙!
OpenFunction 0.6.0 为您带来了许多值得关注的性能,包含函数插件、函数的分布式跟踪、管制主动缩放、HTTP 函数触发异步函数等。同时,异步运行时定义也被重构了。外围 API 也曾经从 v1alpha1
降级到 v1beta1
。
面向 Serverless 函数的分布式追踪
当试图理解和诊断分布式系统和微服务时,最无效的办法之一是通过追踪函数的调用链路。分布式追踪为 Serverless 函数提供了一个对于音讯流动和分布式事务监控形式的整体视图。OpenFunction 团队与 Apache SkyWalking 社区单干,减少了 FaaS 的可观测性,使得您能够在 SkyWalking UI 上通过图表来可视化 Serverless 函数的依赖关系并追踪函数的调用。
未来,OpenFunction 将在日志、指标和追踪方面为 Serverless 性能减少更多的性能。您将可能应用 Apache SkyWalking 和 OpenFunction,为您的 Serverless 工作负载建设一个开箱即用的全栈 APM(Application Performance Monitoring)。此外,OpenFunction 将反对 OpenTelemetry,帮忙您利用 Jaeger 或 Zipkin 作为分布式追踪的其它选项。
反对 Dapr 公布 / 订阅和绑定(Binding)
Dapr Binding 容许您应用来自内部零碎的事件触发您的应用程序或服务,或与内部零碎对接。OpenFunction 0.6.0 为其同步函数减少了 Dapr 输入绑定(Output Binding),使异步函数通过 HTTP 同步函数进行触发成为了可能。例如,由 Knative 运行时反对的同步函数当初能够与由 Dapr 输入绑定或 Dapr Pub/Sub 中间件 进行交互,异步函数将被同步函数发送的事件所触发。您能够通过这个 指南 取得疾速入门样例。
异步函数则引入了 Dapr Pub/Sub,提供一个平台无关的 API 来发送和接管音讯。一个典型的用例是,您能够利用同步函数来接管纯 JSON 或 Cloud Event 格局的事件,而后将收到的事件发送到 Dapr 输入绑定或 Pub/Sub 组件,比方是一个音讯队列(如 Kafka、NATS Streaming、GCP PubSub)。最初,异步函数能够从音讯队列中被触发。您能够通过这个 指南 取得疾速入门样例。
函数的主动伸缩行为管制
OpenFunction 0.6.0 集成了 KEDA ScaledObject 标准,用于定义 KEDA 应该如何扩大您的应用程序以及触发器是什么。您只须要在 OpenFunction 函数的 CRD 中定义伸缩上限和下限,而无需扭转您的代码。
同时,OpenFunction 社区也在开发管制并发性和同时申请数的能力,它继承了 Dapr 和 Knative 的定义。分布式计算的一个典型用例是只容许肯定数量的申请同时执行。您将可能管制多少个申请和事件将同时调用您的应用程序。这个性能将在下一个版本中失去齐全反对,敬请期待!如果您对这个性能感兴趣,请查看官网代码仓库中的 探讨,理解具体的背景。
在实践中学习
OpenFunction 的创始人霍秉杰学生在 Dapr 社区会议上介绍了 OpenFunction 0.6.0 的两个典型用例:
- HTTP trigger for asynchronous functions with OpenFunction and Kafka
- Elastic Kubernetes log alerts with OpenFunction and Kafka
您能够观看上面这两段视频,并依照实际指南进行练习。
<iframe src=”//player.bilibili.com/player.html?aid=510142597&bvid=BV1zu411v7rp&cid=562833539&page=1&high_quality=1&danmaku=0″ scrolling=”no” border=”0″ frameborder=”no” framespacing=”0″ allowfullscreen=”true” style=”width: 640px; height: 430px; max-width: 100%”> </iframe>
<iframe src=”//player.bilibili.com/player.html?aid=767412996&bvid=BV1mr4y1i71W&cid=554331549&page=1&high_quality=1&danmaku=0″ scrolling=”no” border=”0″ frameborder=”no” framespacing=”0″ allowfullscreen=”true” style=”width: 640px; height: 430px; max-width: 100%”></iframe>
您还能够从 公布阐明 中理解更多对于 OpenFunction 0.6.0 的信息。参照 疾速入门 和 样例 开始应用 OpenFunction。
本文由博客一文多发平台 OpenWrite 公布!