【云原生】nuclio:一个高性能的“serverless”框架

nuclio简介

Nuclio是一个高性能的“无服务器”框架,专注于数据、I/O和计算密集型工作负载。它很好地集成了流行的数据科学工具,如Jupyter和Kubeflow;支持多种数据和流媒体源;并支持在cpu和gpu上执行。与其他serverless框架相比,nuclio解决了以下问题:

  • 实时处理,CPU/GPU和I/O开销最小,并行性最大
  • 与大量数据源、触发器、处理模型和ML框架的本地集成
  • 带有数据路径加速的有状态函数
  • 跨低功耗设备、笔记本电脑、边缘和预置集群以及公共云的可移植性
  • 开源,但为企业设计(包括日志记录、监控、安全性和可用性)

Nuclio框架架构

Nuclio整体框架核心包括:

  • nuctl:命令行工具,负责函数部署、服务发现等功能。
  • Playground:用于UI界面管理部署服务。
  • Dealer:起到中转作用,对云服务的job、任务、函数、用户UI、CLI等事件处理。负责事件监听,比如对于事件监听处理,包括HTTP请求事件、流请求事件、消息队列、数据库绑定。
  • Controller:用于底层平台绑定,比如Kubernetes、Cloud Provider…,整体上优于Kubernetes。
  • Builder:用于构建服务容器,部署远程或本地。在这里插入图片描述

函数处理器

Serverless最关键在于面向函数式编程,Function Processor作为函数处理引擎式nuclio核心模块,该部分由四部分组成。

  • 事件监听:把同步、异步、流、轮询事件作为函数的触发条件,起到调用服务的作用。
  • 数据绑定:用于绑定其他数据处理模块,包括RabbitMQ、Kafka等。
  • 函数worker:由用户自定义函数作为微服务,其语言可包括python、golang、ruby等。根据事件请求动态创建worker。
  • 控制框架:入口、日志、安全监控等。
  • 底层API:连接树莓派、docker、kubernetes、云基础设施。

【注】基础设施基于golang实现,golang直接调用内置go例程,其他语言一种类似与bash,另一种类似于socket
在这里插入图片描述

事件响应模式

事件包括四种模式:同步请求、异步消息队列、消息流、job(主/工)模式。
在这里插入图片描述

Dealer

通过spec文件,Dealer动态的分配任务到工作之中,分配后与POD Up/Down、事件变化没关系。
每一个任务由一个工作线程,例程负责该流或任务等检查点,工作执行取决于spec文件定义的min/max processors
在这里插入图片描述

广泛的应用

  • 数据获取:通过ETL或CDC获取数据,nuclio对数据丰富、聚合、预测。
  • 看板状态管理:nuclio dashboard管理服务。
  • 同步与备份:nuclio基于云服务商策略的同步与备份数据。
  • 事件处理:基于机器学习、大数据技术,nuclio完成复杂事件行为处理响应。

在这里插入图片描述

实时例子:车联网的事件驱动分析

实现不同数据流四个表以及地理地图的更新复杂事件的处理。
在这里插入图片描述

其他

函数定义文件

用于定义一个函数服务,包括版本、服务定义类型、函数服务镜像构建信息等。
在这里插入图片描述

事件模型

Event 接口获取上下文的请求等状态信息。
在这里插入图片描述

日志接口

利用Context.logger Interface保存日志信息,在云原生中日志是程序调试的依据。
在这里插入图片描述

数据绑定模型

Default Context.DataBinding API (sync & async ver), can be overwritten.
在这里插入图片描述

nuclio看板

用于在线编写函数,UI界面完成一键部署的服务。
在这里插入图片描述

CIL命令

nuclio提供的命令行控制工具,用于服务发现以及部署等操作。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值