写点什么

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

发布了 934 篇内容, 共 720.8 次阅读, 收获喜欢 2717 次。

关注

评论 1 条评论

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

Linux常用命令用法及实现方式

小齐写代码

代码静态检查为什么需要对告警去做运营?

华为云开发者联盟

开发 华为云 华为云开发者联盟

探索数据湖和大数据在亚马逊云服务云存储服务上的威力

亚马逊云科技 (Amazon Web Services)

大数据 S3 EMR Amazon Glue 云存储服务

什么是稳定扩散,它是如何工作的?

3D建模设计

机器学习 Stable Diffustion 稳定扩散

CodeWhisperer 使用经验分享

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习 云上探索实验室 Amazon CodeWhisperer

安全好用性价比高的远程协同运维软件有吗?

行云管家

IT运维 远程运维 运维协同

需要买哪些网络设备才能过等保?求解!

行云管家

等级保护 等保测评 过等保 等保2.0

最佳案例公布:EMQ 和 Intel 评选 IIoT 领域创新应用

新消费日报

JDK11升级JDK17最全实践干货来了 | 京东云技术团队

京东科技开发者

Java jdk

Apifox 新功能发布:自动化测试迎来重大突破!

Apifox

程序员 测试 自动化测试 Apifox 测试工具

低代码平台加持后紧急交付项目如何突破极限

鲸品堂

低代码 企业号11月PK榜

火山引擎DataTester上线「集成工作台」功能,助力企业打造专属AB平台

字节跳动数据平台

大数据 对比实验 大数据 A/B测试

UBC SDK日志级别重复率优化实践

百度Geek说

大数据 日志 sdk 企业号11月PK榜

【万字长文】前端性能优化实践 | 京东云技术团队

京东科技开发者

性能优化 前端

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