在物联网领域,复杂性往往并非在于传感器,真正的复杂性在于各种传感器产生的大量数据,以及对这些数据的处理,所以开发者不得不花费大量的时间去构建和维护后端服务器来处理这样一个庞大的数据流。而在今天这个敏捷、快速迭代,对业务创新周期要求越来越短的时代,这无疑是难以接受的。本文我们将通过一个简单的物联网场景,基于函数工作流(FunctionGraph,FGS)来介绍一下无服务(Serverless)在物联网领域的应用。

函数工作流是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩、免运维、高可靠的方式运行。通过函数工作流,开发者无需配置和管理服务器,只需关注业务逻辑,编写函数代码,以无服务器的方式构建应用,便能开发出一个弹性高可用的后端系统,并按实际运行消耗的资源计费。极大地提高了开发和运维效率,减小了运作成本。

现在我们假设一种场景:对IOT的实时数据进行处理(比如格式转换),并进行转储。那么我们可以使用菊厂的数据接入服务(DIS)采集IOT实时数据流,然后通过函数工作流(FunctionGraph)对采集到的数据进行实时的处理(比如格式转换),并存储到表格存储服务(CloudTable Service)中。架构图如下:

对于开发者来说,完全只需要关注函数工作流中函数的内容,即接收到DIS的数据流后对数据处理的业务逻辑(转换格式和存储),无需关注服务器,且整个系统的运行是弹性伸缩,按需计费的。开发者可以在函数工作流创建一个函数,编写代码,实现对数据的格式转换和向CloudTable的存储,然后为函数创建一个DIS触发器,对接DIS服务,通过事件触发的方式,我们的函数就会实时地去处理DIS中采集的IOT数据了,以此构建出一个无服务的IOT系统。

实现流程

1. 搭建用户私有的存储集群。进入虚拟私有云服务,创建虚拟私有云;进入表格存储服务,创建集群。

2. 创建函数,实现格式转换和存储的业务逻辑。进入函数工作流服务,创建函数,我们提供了一份Java语言的Demo供大家参考学习:源码程序包(包含函数依赖)。

3. 配置DIS事件,测试函数,处理数据。

4. 创建DIS触发器,对接DIS服务。

总结:

通过基于函数工作流的无服务架构和传统架构的对比,我们可以看到其具有如下优点:

1. 无需关注任何服务器,只需关注核心业务逻辑;

2. 函数运行随业务量弹性伸缩,按需付费,执行才计费,低成本;

3. 事件触发,灵活易扩展;

4. 可以通过简单的配置连通函数工作流和其它云服务,比如本例中只需创建一个DIS触发器便可完成数据接入服务和函数工作流的连接,然后在函数中将数据存储到CloudTable,那么函数就像一个粘合剂一样将两个云服务连接在一起。

最新文章

  1. MySQL服务 - MySQL变量类型及变量设置
  2. 让UILabel的文字顶部对齐
  3. jQuery - 2.jQuery选择器
  4. 出现segment fault 错误的几种原因
  5. python基础:三层循环
  6. 玩转Win32开发(2):完整的开发流程
  7. Node.cloneNode()方法
  8. Java图形化界面设计——布局管理器之FlowLayout(流式布局)
  9. java‘小秘密’系列(二)---Integer
  10. nvm 装 nodejs 重启终端失效的解决方法
  11. 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
  12. TZOJ 5101 A Game(区间DP)
  13. Python图形编程探索系列-06-按钮批量生产函数
  14. Android apk签名的两种方法
  15. Oracle_高级功能(9) 性能优化
  16. ActiveMQ 报错 Temporary Store limit is 51200 mb
  17. 关于文件格式Fuzzing测试与漏洞挖掘的学习
  18. Codeforces 550C —— Divisibility by Eight——————【枚举 || dp】
  19. vue - 实例事件
  20. 【批量加入】-拼接sql字符串

热门文章

  1. Windows下的apache tomcat安装与配置
  2. git 设置git用户名和邮箱,并生成秘钥
  3. mac解压7z格式文件
  4. 实现一个微信小程序组件:文字跑马灯效果
  5. 用vscode编辑代码
  6. 学习笔记——C++编程cin测试记录
  7. hystrix流程图收藏
  8. “用户名不在 sudoers文件中,此事将被报告” 解决方案
  9. Bitmap之getPixel和setPixel函数
  10. linux性能监控 -CPU、Memory、IO、Network等指标的讲解