加载中
openwhisk
OpenWhisk 编程模型

What is an Action?
在 OpenWhisk 平台上运行的无状态函数(代码片段)。封装了为响应事件而执行的应用程序逻辑。
可以通过一下三种方式进行调用:
- OpenWhisk REST API
- OpenWhisk CLI
- 简单的用户创建的API手动调用
- 触发器调用
部署Openwhisk
Running OpenWhisk locally
使用 Docker 中启用的 Kubernetes(Minikube)
Alternative options
Standalone
开始使用 OpenWhisk 的最简单方法是安装“独立”OpenWhisk 堆栈。这是一个功能齐全的 OpenWhisk 堆栈,为方便起见,作为 Java 进程运行。无服务器函数在 Docker 容器中运行。您的机器上需要有 Docker、Java 和 Node.js。
首先需要安装java、nodejs 参考文章
然后可以clone编译
运行生成的可执行文件:
服务起来后设置提示的命令:设置apihost和auth
Docker Compose
Ansible
Vagrant
使用Openwhisk
wsk
wskdeploy
OpenWhisk REST API
OpenWhisk Clients
Openwhisk架构
What happens on an invocation?


What is a Trigger?
一种声明式的事件源。触发器用于描述一类事件的发生,例如文档上传、代码提交或定时器触发。它本身不包含业务逻辑,而是作为事件的“命名通道”。
What is a Rule?
规则(Rule)是连接触发器(Trigger)和动作(Action)的桥梁。它规定了当某个触发器所代表的事件发生时,应该调用哪一个动作。这种关联使得事件驱动的逻辑变得清晰和模块化。
架构图解释
上面的架构图展示了一次函数调用的完整生命周期:
1. Nginx: 作为入口网关,接收所有来自客户端的HTTP请求。
2. Controller: 是系统的“大脑”,负责认证、授权和路由请求。它接收到请求后,会将其转化为一个消息,并发布到Kafka消息队列中。
3. Kafka: 是一个高吞吐量的分布式消息队列,作为系统核心组件之间的缓冲,实现了削峰填谷和异步处理。
4. Invoker: 是实际执行函数代码的“工人”。它会从Kafka消费消息,如果本地没有可用的容器来执行该函数,它会启动一个新的Docker容器,将函数代码注入并执行,然后将结果返回给Controller。
上一篇
Scala
下一篇
serverless
Loading...