七叶笔记 » golang编程 » 无服务器功能构建简单化 功能即服务—OpenFaaS介绍

无服务器功能构建简单化 功能即服务—OpenFaaS介绍

OpenFaaS是一个构建无服务器功能的框架,它拥有对指标的第一个类支持。任何流程都可以打包为一个功能,使你能够使用一系列web事件,而无需重复的样板化编码。

亮点

·通过UI入口和单击安装轻松使用

·为Linux或Windows的任何语言编写函数,以 docker /oci图像格式编写包

·便携式——在现有的硬件或公共/ 私有云 上运行——Kubernetes或Docker集群

·用于模板和定义函数的 yaml 格式的CLI

·Auto-scales随着需求的增加

OpenFaaS概述

监督功能

通过添加功能监视程序(一个小型的Golang HTTP服务器),您可以将任何Docker映像都添加到一个无服务器函数中。

函数监视程序是入口点,允许通过STDIN将HTTP请求转发到目标进程。通过将应用程序写入 STDOUT ,将响应发送回调用方。

网关

API网关为您的函数提供了一个外部路由,并通过Prometheus收集云的原生数据。

您的API网关将根据需求来扩展功能,通过更改Docker Swarm或Kubernetes API中的服务副本数。

UI允许您在浏览器中调用函数,并根据需要创建新的函数。

CLI

Docker容器 中的任何容器或流程都可以是FaaS中的一个无服务器功能。通过使用FaaS CLI,您可以部署您的函数,或者从诸如Node.js或 Python 这样的模板中快速创建新的函数。

CLI演练

让我们快速查看一个示例函数urlping,它连接到一个远程 web服务器 ,并从响应返回HTTP代码。它是用Python编写的。

handler.py

安装faas-cli,也可以在brew中使用

克隆来自 Github 的样例和模板:

YAML 中定义您的函数,或者通过API网关的UI进行部署。

示例函数YAML文件-urlping.yaml

在./sample/url ping中使用Python处理程序构建一个Docker映像

将新映像部署到在YAML文件中定义的网关。

如果您的网关是远程或多主机集群的一部分,您还可以使用CLI将您的映像推送到远程注册中心或使用faas-CLI-action push的中心

使用URL 来测试该函数

在Github库中,可以使用一系列编程语言提供样例函数。

相关文章