当前位置: 代码迷 >> 综合 >> Serverless OpenFaas
  详细解决方案

Serverless OpenFaas

热度:87   发布时间:2024-01-19 08:19:53.0

文章目录

      • 原理
        • 技术简介
        • 架构
        • 结构分析
      • 性能
        • 性能表现
          • 环境
          • 对象
          • 数据
        • 生态圈
      • 高级用法
        • YAML
        • 命名空间
        • 工作流
          • 函数调用
          • 多级页面
        • 权限
          • API网关
            • 内置基本身份验证
            • 其他
          • secret
          • 函数
        • Openfaas Cloud
          • 原理
          • 特点
      • 实践
        • 安装使用说明
          • 环境
            • 安装docker
            • 安装k8s
          • openfaas
            • 安装
            • 使用
        • 定时样例
      • 总结
        • 特点
        • 思考

原理

技术简介

OpenFaaS是golang编写的一个使用Docker和Kubernetes构建的serveless框架
和Fnproject 有点像,只是 Openfaas 并不是直接抓取容器的标准输出,而是写一个 Function Watchdog 作为容器的启动进程,暴露 http 服务,用于和调度系统交互,然后直接调用进程运行 Function 获取输出。

在这里插入图片描述

Prometheus:监控系统报警框架
watchdog:https://news.ycombinator.com/item?id=15116834
Swarm:提供 Docker 容器集群服务

架构

在这里插入图片描述
当Gateway作为一个入口,当CLI或者web页面发来要部署或者调用一个函数的时候,Gateway会将请求转发给Provider,同时会将监控指标发给Prometheus。AlterManager会根据需求,调用API自动伸缩函数。

结构分析
  • 基本的安全验证
  • 和函数相关的代理转发
    • 同步函数
      • 列出函数
      • 部署函数
      • 删除函数
      • 更新函数
  • 异步函数
  • Prometheus的监控
  • ui
  • 自动伸缩
    • 根据每秒请求数来做伸缩
    • 最小/最大副本数 通过向函数添加标签, 可以在部署时设置最小 (初始) 和最大副本数。
    • 通过内存和CPU的使用量。

性能

社区活跃度
Dec 18, 2016 – Dec 27, 2018

https://kenfdev.o6s.io/github-stats-page#/
在这里插入图片描述
1.社区活动

开发工作量平均每周大约5个commits

2.社区规模

github核心开发人员3名

3.社区表现

issues的平均close周期比较长

5.社区多样性
Pony factor:1

性能表现
环境

非生产环境

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 42
Model name:            Intel Xeon E312xx (Sandy Bridge)
Stepping:              1
CPU MHz:               1999.999
BogoMIPS:              3999.99
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0,1
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
对象

http://192.168.44.204:8080/function/figlet 0.016
http://192.168.44.204:8080/function/nodeinfo 0.2
http://192.168.44.204:8080/function/echoit 0.02

数据

单任务

  相关解决方案