写点什么

最热开源无服务器函数:五大 Fission 架构参考

  • 2019-01-03
  • 本文字数:2220 字

    阅读完需:约 7 分钟

最热开源无服务器函数:五大Fission架构参考

“无服务器”现在是极具诱惑的技术趋势,没有什么比管理服务器更让人痛苦。亚马逊、微软和谷歌都在云中提供无服务器专有接口。相较于这些云供应商的商业化产品,开源无服务器架构可免于被云厂商锁定,但要以牺牲云便利性和易用性为代价。


近一年,Fission 热度颇高。简单来讲,Fission 是一个构建在 Kubernetes 之上的 FaaS 或 Serverless 函数框架。Fission 使用配有动态装载器的标准容器把 Kubernetes 与内部容器联系在一起,所使用的功能被放置于适当的标准容器中,并被加载以回答容器内 Web 服务器查询。


因为其灵活且不会被锁定到特定云提供商,Fission 已被应用到多个行业,本文将介绍五大行业常见用例的 Fission 架构设计模式。


参考架构 1:物联网(IoT)


从工业互联网到可穿戴设备再到智能汽车,一系列物理设备(传感器、执行器,智能设备和可穿戴设备…)收集各种类型数据,并与数据中心内运行的应用程序进行通信。通常,数据使用网关聚合,然后发送到可分析这些变量的平台以获取业务洞察(性能、趋势、触发事件等)。


物联网应用程序中的整体流程可使用 Fission 编排:


  1. 使用网关聚合数据,并将其发送到在 Kubernetes 上托管运行的 Kafka 服务器集群消息队列;

  2. 基于整个管道流程调用 Fission 函数:


  • 对于放置在消息队列中的给定文件,文件内容将传递到 Fission 函数,该函数首先对其标准化以提取感兴趣的变量,然后将输出发送到 NoSQL 数据库或文件系统;

  • 第二个函数将运行以响应 NoSQL 数据库中的标准化文件。该函数将读取文件内容,根据需要执行计算(基于用例),调用执行功能的微服务,例如将数据发送到 Data Lake 或 Data Mart 以进一步分析;

  • 可以为事件流中任何类型的处理操作编写分支函数,FaaS 可根据数据量按比例放大或缩小。


参考架构 2:金融服务(支付处理,风险计算等)


金融服务行业可以使用基于 Fission 的无服务器架构实时处理支付请求、执行合规性检查和风险度量等关键任务。


金融应用程序中的整体流程可以使用 Fission 编排:


  1. 开发人员将 Fission 部署为跨多个应用程序的共享功能,这些程序是支付处理网关前端,可处理用户身份验证、注册和支付相关数据收集;

  2. 系统将后端与存放交易数据的数据库进行连接;

  3. 创建 Fission 函数以解析具有以下变量的给定输入数据流:用户信用卡数据、交易位置、其它用户信息等。


  • 第一个函数调用欺诈检测 API,并根据检查结果将数据保存到内存数据网格中;

  • 无论检查通过还是失败,均调用第二组函数。如果检查通过,则该函数批准付款并向用户发送确认;

  • 如果怀疑付款存在欺诈性,则会调用另一个函数向后端欺诈检测系统发出告警。


参考架构 3:Web 应用程序扩充


绝大多数企业应用都是三层 Web 程序,这些应用是业务后台及技术任务(如备份、告警、数据收集)的接口。新兴模式是用无服务器 Fission 函数来处理这些任务,而不影响单片 n 层应用程序的开发和部署。


Web 应用程序扩充的总体流程可以使用 Fission 函数编排:


  1. 业务用户继续与(传统)应用程序连接,但可以利用 Fission 函数提供的增强功能;

  2. 为一系列计算和数据处理任务创建新功能;

  3. 主要应用程序触发这些功能,因为需要机会性执行;

  4. Dedicated 函数执行所描述的适当逻辑,如果需要,向应用程序报告。


这可以被视为将传统应用程序重构或分解为微服务的好方法,或者轻松添加不依赖“mother ship”开发和发布过程的附加功能。


参考架构 4:传统系统改造


诸如大型机和 n 层应用之类的传统系统在银行、保险、零售等行业普遍存在并且根深蒂固。由于复杂性、业务依赖性、重构需要大量时间和精力以及这些系统仍然表现良好且具有成熟的使用模式等事实,企业不可能简单撕掉和替换这些系统。为了确保与现代服务(如 Web 和移动应用程序)的互操作性,Fission 函数可以围绕这些系统提供基于标准的 API 包装器。


例如:


  1. 请求被发送到 API 网关,API 网关执行基本转换并根据请求端点需要调用 Fission 函数;

  2. 函数接收输入数据(例如 JSON)并将其转换为终端系统可处理的格式,然后调用(传统)业务系统;

  3. 一旦系统响应,函数可获取并将其转换为源系统理解的格式,再使用适当的响应调用 API 网关。


参考架构 5:使用 Apache Spark 进行机器学习


对于大多数公司而言,机器学习和预测分析通常针对组织内的特定项目。为了实现机器学习的真正价值,跨应用共享数据、算法和模型是有利的。Fission 可以与 Apache Spark 等技术结合,提供最终用户或应用程序所使用的流处理和趋势预测数据。


使用 Fission 和 Apache Spark 编排机器学习应用整体流程:


  1. 业务运营数据实时提取到基于 Kafka 的消息队列集群;

  2. Spark Streaming 以微批方式获取数据,通常基于时间窗口。此数据存储在数据湖中以进行批处理分析,并发送到 Spark MlLib 运行时,其中存储了不同的预测模型;

  3. 这些模型基于在 Spark 上运行的通用 ML 算法,比如有监督和无监督算法 ,聚类、分类算法等;

  4. 一旦将模型结果写入 NoSQL 数据库或内存数据网格,就会触发 Fission 函数;

  5. Fission 函数执行一系列关键业务功能,例如,更新业务分析仪表板,发送实时服务等。


结论


无服务器正在成为继 Kubernetes 之后最热门的趋势之一,开源无服务器解决方案使用高度灵活的技术,基于标准 PaaS 平台解决行业面临的业务挑战,并可在本地和任意公有云运行。但是,与其他新技术一样,无服务器仍然存在一些问题,比如可扩展性、生态系统集成等,如何合理搭建成为技术人员需要思考的重要问题。


参考链接:https://dzone.com/articles/what-is-serverless-part-5-reference-architectures


2019-01-03 08:209675
用户头像
赵钰莹 InfoQ 主编

发布了 882 篇内容, 共 638.2 次阅读, 收获喜欢 2678 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

Redis面试题:基本数据类型与底层存储结构

Linux服务器开发

redis 面试题 Linux服务器开发 Linux后台开发 BAT面试题

成都大运会“数智竞技邀请赛”启动 开悟平台为全球青年提供竞技舞台

科技热闻

Centos7安装Nginx

云原生

nginx centos 部署

API接口知识小结

源字节1号

程序员 有趣的技术知识

教你两分钟做出一个精美好用的404页面

源字节1号

前端开发 后端开发 网页开发

在线HTML压缩格式化工具

入门小站

工具

企业知识管理的措施

小炮

知识管理

3. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardierdate

MASA技术团队

C# .net 测试 压测 测试工具

Linux之uniq命令

入门小站

Linux

OceanBase 源码解读(八):事务日志的提交和回放

OceanBase 数据库

oceanbase 源码解读

母婴后浪品牌频出,各个细分市场有哪些发展潜力?

易观分析

母婴

【网络安全】网络安全的重要性你知道吗?

行云管家

网络安全

信创云管理平台,头部券商解决异构云资源管理的关键

BoCloud博云

信创 云管平台

聊聊数仓中TPCD-DS&TPC-H与查询性能的那些事儿

华为云开发者联盟

编辑器 GaussDB(DWS) TPCD-DS TPC-H 查询性能

大咖说|试衣到家 CEO:我们卖的不是衣服,是服务

大咖说

阿里巴巴 科技 时尚产业 试衣到家

如何进行高效的版本管理,版本管理的方法

阿里云云效

云计算 阿里云 项目管理 云原生 版本管理

《Mybatis 手撸专栏》第1章:开篇介绍,我要带你撸 Mybatis 啦!

小傅哥

小傅哥 mybatis 手写Mybatis

ironSource 推出全球首个跨渠道应用营销平台 ironSource Luna

科技热闻

安全大讲堂 | 孙朝晖:全量数据是一切网络安全分析的起点

腾讯安全云鼎实验室

数据分析 网络安全 数据安全 安全大讲堂

即学即会 Serverless 系列:初识 Serverless 架构

Serverless Devs

云计算 阿里云 Serverless 架构

小程序多端引流新思路:App公域流量挖掘

Speedoooo

APP开发 智慧终端 引流获客工具 引流获客系统

深度揭秘阿里云 Serverless Kubernetes

Serverless Devs

集结创新力量,2022航天宏图&华为云杯PIE软件开发者大赛正式开启

科技热闻

在线JSON转HTML,TABLE表格工具

入门小站

工具

如何实现24小时客户服务

小炮

客户服务

如何使用Java AWT 创建一个简易计算器

华为云开发者联盟

Java 计算器 GUI AWT 图形

小程序容器轻松打造轻应用生态平台

Speedoooo

APP开发 小程序容器 轻应用 快应用 超级app

VuePress 博客之 SEO 优化(五)添加 JSON-LD 数据

冴羽

Vue 前端 vuepress SEO 博客搭建

运维审计系统是堡垒机么?跟堡垒机有啥区别?

行云管家

运维 堡垒机 运维审计系统

什么技术,让浩鲸科技拿下中国移动大奖?

鲸品堂

中国移动

centos7.6安装MySQL5.7采坑指南

云原生

MySQL 数据库 sql centos

最热开源无服务器函数:五大Fission架构参考_服务革新_赵钰莹_InfoQ精选文章