EMQX Cloud 影子服务:便捷数据缓存服务,加速 IoT 应用开发

简介: 影子服务是EMQX Cloud提供的一个设备数据缓存服务,可以帮助用户省去打通EMQX Cloud和第三方数据服务的步骤,极大节省开发时间与成本。

全托管 MQTT 消息云服务 EMQX Cloud 可以帮助用户轻松将各类物联网设备连接上云,提供与各类第三方服务的数据集成,助力用户进行高效的数据处理、存储与分析。

为了实现更加便捷的物联网数据处理,进一步简化用户构建物联网应用的开发流程,近日,EMQX Cloud 推出了一项新的增值服务——影子服务(Shadow Service )。

功能详情

影子服务是 EMQX Cloud 提供的一个设备数据缓存服务,用户可以通过 Topic 以及 API 定义和使用,快速设计开发物联网应用。

此前,用户需要先通过 EMQX Cloud 的数据集成服务将物联网数据转存到第三方数据服务中,之后才能进行物联网数据处理分析和物联网应用的进一步开发工作。如:首先购买第三方数据集成资源云服务,再创建 VPC 对等连接打通 EMQX Cloud 和第三方云服务,最后创建开发物联网应用。

全新上线的影子服务所提供的设备数据缓存能力可以省去打通 EMQX Cloud 和第三方数据服务的步骤,用户可以实现在 EMQX Cloud 内部集中完成设备数据缓存、修改、查看,快速创建物模型、设备影子以及其他和数据上报及下发相关的应用,极大节省开发时间和成本。
EMQX Cloud 影子服务 图1.png

应用场景

通过影子服务为用户提供的数据缓存能力,用户在无需配置外部存储和网络打通的情况下就可以实现很多应用的开发,非常适用于以下场景:

应用程序请求获取设备状态

  • 设备网络不稳定,设备频繁上下线,无法正常响应应用程序的请求。
  • 设备网络稳定,同时响应多个应用程序的请求,即使响应的结果一样,设备本身处理能力有限,也会无法负载多次请求。
  • 设备传输信息,暂无数据消费者。应用程序上线后才需要查看最新设备信息。
  • 设备传输信息,不同应用程序读取不同部分的信息。
  • 设备传输多组信息,应用程序综合展现所有信息。

使用设备影子,设备状态变更只需同步状态给设备影子一次,应用程序请求获取设备状态,不论应用程序是否在线、请求数量多少、设备是否联网在线,都可从设备影子中获取设备当前状态,实现应用程序与设备解耦。

应用程序下发指令给设备,变更设备状态

  • 设备处于下线状态,或设备网络不稳定,设备频繁上下线,应用程序发送控制指令给设备,设备不在线,指令就会发送失败。

使用设备影子机制,可以将应用程序下发的指令,携带时间戳存储到设备影子中。设备再上线时,获取设备影子中指令,并根据时间戳确定是否执行。

使用指南

开通与计费说明

目前影子服务提供 1G 规格 7 天的免费试用。您可以登陆 EMQX Cloud,通过顶部菜单「增值服务」模块或左侧菜单「影子服务」模块开通影子服务。
开通影子服务 图2.png

顶部菜单「增值服务」-> 「影子服务」-> 开通服务
开通影子服务 图3.png

左侧菜单「影子服务」-> 开通服务

注:由于影子服务使用到阿里云云计算资源,目前影子服务仅限 阿里云的专业版部署可以使用。由于地域限制,如果您的部署在 阿里云张家口地区,也无法开通本服务。

影子服务的费用由存储空间费用、调用次数费用、出网流量费三个部分构成。

您可以根据预估所需要的影子模型数量选择不同存储空间规格,不同存储规格的价格和与顾客创建影子模型数量可参考如下表格
表格1.png

影子服务收费标准 图4.png

功能页面导览

开通服务后,您可以在导航栏找到「使用统计」、「影子模型列表」和「API」三个页面。

在「使用统计」页面,您可以通过存储使用量、本月调用次数和不同时间维度使用量变化折线图及时了解当前部署的影子服务使用量,对业务用量进行监控和预警。
使用统计 图5.png

注:服务系统默认将占用约 90MB 的存储空间。

在「API」页面,您可以了解到关于创建、查询、更新、删除影子模型(信息)的 API 定义说明。您的物联网业务可以通过这些 API 来获取影子服务的相关信息,加速物联网应用开发。
影子服务 API 图6.png

在「影子模型列表」页面,您可以添加、编辑、修改影子模型,并且可以通过模板批量导入自定义的影子模型。
影子模型列表 图7.png

功能使用说明

点击「添加」,填写相关信息,点击「确认」即可创建影子模型。
添加影子模型 图8.png

影子模型字段说明:
表格2.png
点击影子模型列表中的 ID,进入影子模型详情页面。在此页面可以查看和修改当前模型的名称、备注。同时可以看到模型 JSON 最新的数据。并且可以对 JSON 进行修改。
影子模型 JSON 图9.png

借助开箱即用的影子服务,各个行业不同业务场景下的数据缓存需求都可以得到满足。影子服务提供的 MQTT 设备接入与消息缓存一体化能力,将为加速物联网平台与应用开发提供动力。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/emqx-cloud-shadow-service

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6天前
|
存储 缓存 分布式计算
|
22天前
|
缓存 NoSQL Java
Redis 缓存与数据库数据不一致问题
Redis 缓存与数据库数据不一致问题
49 3
|
1月前
|
存储 缓存 中间件
|
1月前
|
canal 缓存 NoSQL
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;先删除缓存还是先修改数据库,双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
|
26天前
|
消息中间件 缓存 数据库
Redis问题之如何解决缓存更新失败导致的数据不一致问题
Redis问题之如何解决缓存更新失败导致的数据不一致问题
|
4天前
|
存储 缓存 Java
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
|
1月前
|
缓存
react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)
react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)
25 0
|
1月前
|
存储 缓存 NoSQL
实现返利App中的数据缓存与预加载机制
实现返利App中的数据缓存与预加载机制
|
1月前
|
存储 缓存 Prometheus
Java中数据缓存的优化与实现策略
Java中数据缓存的优化与实现策略
|
1月前
|
数据采集 缓存 API
淘宝商品详情数据(实时更新,缓存数据)
淘宝商品详情数据,关键用于电商业务和市场分析,包括属性、价格、库存等信息。可通过淘宝开放平台API注册获取权限,调用如`taobao.item.get`接口,或使用爬虫技术。数据可实时更新,也有缓存选项。注意API权限、数据安全和调用限制。第三方服务也是获取数据的途径,但可能非实时且成本高。有效利用数据支持决策和分析。