文章目录

  • nuclio简介
  • Nuclio框架架构
  • 函数处理器
  • 事件响应模式
  • Dealer
  • 广泛的应用
  • 实时例子:车联网的事件驱动分析
  • 其他
    • 函数定义文件
    • 事件模型
    • 日志接口
    • 数据绑定模型
    • nuclio看板
    • CIL命令

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提供的命令行控制工具,用于服务发现以及部署等操作。

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

  1. ACA云原生4微服务和Serverless架构

    1 企业应用架构的演进与微服务架构 1.1 企业应用架构的演进 单体应用 SOA(Service Oriented Architecture),2000年出现 1.2 微服务架构与微服务框架 微服务出 ...

  2. 云原生SaaS软件服务与开源框架

    1.概述 云原生SaaS软件服务相对于传统软件服务是云计算背景下的软件服务模式.云计算软件栈主要分为IaaS.PaaS和SaaS,其中,IaaS提供基础设施服务,将海量计算.存储和网络资源集中管理并以 ...

  3. 【Rust 日报】2022-10-23 tachyonix:一个高性能异步计算框架

    tachyonix:异步多生产单消费有界通道 这个库是 Asynchronix 的一个分支,它持续努力地构建用于系统仿真的高性能异步计算框架. 这是一个简洁的异步通道,以快速著称,但也不会在正确性和质 ...

  4. 国内首发,这款 Serverless 云原生一体化部署工具正式开源!

    12 月 19 日,腾讯在 2020 Techo Park 开发者大会上集中发布了三大开源项目.其中,云开发 CloudBase Framework 作为腾讯开源的国内首个基于 Serverless ...

  5. 为什么说 Serverless 引领云的下一个十年?

    十年前通过推出云服务器,云计算拿下了第一桶金.这种基于服务器的云服务,帮助客户节省了对 IDC 的机器采购和运维成本,同时也保持了传统服务器运维的习惯.但服务器里面运行的操作系统.应用软件,以及整个分 ...

  6. 在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

    作者 | 溪恒  阿里云技术专家 直播完整视频回顾:https://www.bilibili.com/video/BV1nC4y1x7mt/ 关注"阿里巴巴云原生"公众号,后台回复 ...

  7. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  8. 最IN的云原生架构,阿里云 Serverless 事件总线 EventBridge 重磅发布

    简介: Serverless 是云计算下一个10年的主要形态,通过大量端到端的整合和云服务的集成,能极大地提高研发效率.了解阿里云 Serverless 产品家族的最新进展,包括函数计算FC.Serv ...

  9. KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎

    [来源:阿里巴巴云原生公众号] 美国西部时间 2020 年 11 月 18 日,在云原生技术"最高盛宴"的 KubeCon 北美峰会 2020 上,CNCF 应用交付领域小组(CN ...

最新文章

  1. 2016河北省职称计算机考试试题及答案,2016年最新河北省职称计算机考试试题及答案概要.doc...
  2. 资本|五大科技巨头并购投资布局分析
  3. 《Excel 职场手册:260招菜鸟变达人》一第 14 招 利用数据验证记录数据录入时间...
  4. Struts2的类型转换(下)
  5. 10个Eclipse珍藏插件推荐
  6. [Python]使用 lambda 函数
  7. git 拉取远程其他分支代码_git切换远程分支并拉取远程分支代码
  8. java 切面_Java笔试面试精心整理得到89道Spring 核心知识【收藏向】
  9. 32页,10米长的《BI建设地图》强在哪?我整理分享出来
  10. pubmed影响因子插件_新版新版PubMed使用技巧2
  11. linux 可道云_如何搭建私有云
  12. LINUX编译Android ffmpeg
  13. Android studio 菜单栏搞不见了
  14. matlab 8750h,[多图]九代i7-9750H笔记本标压处理器与前代8750H性能对比
  15. 计算机联机玩游戏的操作方法,win10系统电脑联机玩罗马复兴的设置方法
  16. 数字签名、电子签名与电子合同
  17. 客户案例 | 初窥元宇宙,Oasis让更多人找到第二人生
  18. 数据湖 数据孤岛 数据沼泽
  19. 数字图像处理(冈萨雷斯版)-第二章
  20. 使double保留两位小数的多方法 java保留两位小数

热门文章

  1. 5.6 小蚁共识机制
  2. const_cast,dynamic_cast,reinterpret_cast,static_cast四种转换的区别
  3. 记录树莓派3B+系统备份篇
  4. Linux网络安全策略
  5. android 绑定arp
  6. ToDesk远程控制,详细介绍,使用教程
  7. SDL: Lex Yacc
  8. npi阶段是什么意思_NPI全过程各阶段定义-特性-要点
  9. 捷克avast杀毒软件专业版
  10. 智能验证码助力银行数字化营销