fission
- fission/fission
Fast and Simple Serverless Functions
- 目前支持 NodeJS, Python, Ruby, Go, PHP, Bash, Linux executable
- 只操作源码不操作容器
- 内置路由基于 gorilla/mux
- 支持命名参数
/guestbook/{name}/{age:[0-9]+}
X-Fission-Params-Name: <name>
- 注意名字会转换
- 支持 WebSocket
- 底层基于 keda
- helm fission/fission-charts
- fission-all - nats, influxdb
- fission-core
- Function
- 源码 - 可执行内容
- Archive - 可以是打包的内容 - zip
- Package - fission 将 Archive 进行打包 - 实际执行
- 部分语言需要编译 - 需要创建环境
- Environment
- Trigger - 入口/触发方式
- HTTP
- Timer - 定时
- Message Queue - KEDA - Kafka, NATS
- Kubernetes Watch - 当集群变化时
- https://hub.docker.com/u/fission/
<lang>-env
- 执行环境
<lang>-builder
- 构建
- 内置路径映射
/secrets/<namespace>/<name>/<key>
/configs/<namespace>/<name>/<key>
- secrets 和 configs 需要启动时允许访问
- 修改时会导致 pod 重启
- 如果大量 function 使用相同的,则会瞬间导致
- 执行类型
- poolmgr
- 创建 env 自动创建
- 默认 pool 3
- 支持 Requests Per Pod - rpp 限定每个 pod 请求量
- OnceOnly - 一个 pod 只处理一个请求
- Concurrency - 限定请求并发
- newdeploy