写点什么

最热开源无服务器函数:五大 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:209776
用户头像
赵钰莹 极客邦科技 总编辑

发布了 883 篇内容, 共 648.1 次阅读, 收获喜欢 2680 次。

关注

评论 1 条评论

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

关于 SAP ABAP 字符变量和字符串变量字符个数的一个知识点,和一个血案

汪子熙

后台开发 abap Netweaver 字符串处理 6 月 优质更文活动

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

京东科技开发者

xcode wwdc session WWDC 2023 企业号 6 月 PK 榜

重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现

山东布谷科技

软件开发 在线KTV 源码搭建 语音交友源码

中兴交换机如何配置?有哪些常用的配置命令,本文值得收藏!

wljslmz

6 月 优质更文活动

404页面检测

demo123567

网络安全 内容检测 404页面

聚焦企业实践一线与个体职业成长|2023开放原子全球开源峰会OSPO分论坛成功举办

开放原子开源基金会

开源 开放原子全球开源峰会 OSPO 开放原子

java中的线程模型和线程池

demo123567

Java 线程 线程池

Nautilus Chain测试网迎阶段性里程碑,模块化区块链拉开新序幕

西柚子

Sentinel适配Reactor+WebFlux框架的实现原理

互联网架构师小马

Java reactor sentinel WebFlux

Spring的核心概念:Spring基础框架及技术生态

互联网架构师小马

Java spring 框架

OTalk Android 14 开发者交流专场,OPPO、字节跳动、喜马拉雅等大咖齐聚碰撞

科技热闻

linux部署的几种方法

demo123567

部署 linux服务

深入理解 ABAP Reference 变量

汪子熙

SAP abap Netweaver 6 月 优质更文活动

SUSE:强化零信任、自动化和易用性,筑牢云原生安全防线

Rancher

k8s security Kubernets

飞桨携手第二届GitLink开源夏令营,邀你参与顶尖开源项目!

飞桨PaddlePaddle

人工智能 百度 飞桨

hyorm框架进阶用法之框架的原生使用方法

demo123567

Java ORM 自主研发

混沌演练状态下,如何降低应用的MTTR(平均恢复时间) | 京东云技术团队

京东科技开发者

混沌工程 系统安全 MTTR 企业号 6 月 PK 榜

观测云版本上新|观测云 DataFlux Func 托管版正式发布

观测云

编程 可观测 观测云 可观测性用观测云

快节奏升级,英特尔锐炫全力施展硬件性能

E科讯

开源即时通讯IM框架MobileIMSDK的H5端开发快速入门

JackJiang

网络 即时通讯 即时通讯IM

从数字化出海到出海数字化,企业如何打造制胜的「锚」与「帆」?

Lily

STM32L0 ADC使用HAL库关于校准问题的说明

矜辰所致

STM32L051 ADC 6 月 优质更文活动

【Netty】「萌新入门」(三)ChannelFuture 与 CloseFuture

sidiot

Java 后端 Netty 6 月 优质更文活动

JavaOrm框架-基础文档

demo123567

Java ORM 自主研发

运维监控的几种方法

demo123567

Linux 命令 运维监控

实现懒加载

demo123567

懒加载

【C/C++】extern 的一些注意事项

sidiot

c 6 月 优质更文活动

ChatGPT+Mermaid自然语言流程图形化产出小试 | 京东云技术团队

京东科技开发者

流程图 ChatGPT 企业号 6 月 PK 榜 Mermaid

软件测试/测试开发丨Python 闭包函数&装饰器

测试人

Python 程序员 软件测试 装饰器 函数

熟练使用git之git撤回操作

demo123567

git撤回

惊喜不间断,英特尔锐炫性价比拉满!

E科讯

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