首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于 Kubernetes 集群的 Serverless 在 IoT 中的应用(5)

基于 Kubernetes 集群的 Serverless 在 IoT 中的应用(5)

Serverless 与 IoT 的配合本小节,我们将通过一个 Serverless 与 IoT 结合的案例,来验证 Serverless 的作用。
场景描述在本实验案例中,工厂希望在其生命周期内密切监控关键资产,以提高运营效率。每台设备(资产)都分配到工厂的特定区域(地理围栏);设备主动报告它们的实时位置坐标(通过                mqtt                协议发送)。该位置数据(经纬度)被转换并存储在数据库中,以便使用各种功能进行持久存储。如果设备移出其地理围栏,则使用其他功能触发警报。
本案例最终会调用 Google 地图 API(Google Geolocation                API)在地理地图上显示资产位置。使用不同的标记动态更新地图数据,用于指示资产是否在其地理围栏内。
在案例中,整个 IoT 的实现,Serverless 将起到如下作用:
  • 格式化资产传递过来的原始数据(经纬度);
  • 然后 Serverless 拿格式化后的经纬度去 MongoDB 中进行查询,显示该资产的具体信息;
  • Serverless 判断资产是否超出了其地理围栏。
接下来,我们进行详细介绍。
首先,在 K8s 集群中创建一个 Namespace,然后部署 MongoDB 数据库,将资产详细信息录入到数据库。
图 15. 查看                    Namespaces
图 16. 查看 pods
我们查看 MogoDB 中的内容,MongoDB 存放的是资产的详细信息(名称、图片、资产的地理围栏范围)。
图 17. 查看 MogoDB                    内容
创建一个 IoT Package,用于存放后续实现相关的 Action 等内容:
$wsk -i package create --shared yes iot-serverless
图 18. 查看                    Package
接下来,我们创建三个 Action,第一个是基于 JavaScript 的 formatInput、第二个基于 node.js 的                enricher、第三个是基于 JavaScript 的 geofence。
返回列表