物联网平台规则引擎流转到S3对比

2021-06-14  本文已影响0人  ShootHzj

对于物联网平台来说,规则引擎是其中一个很重要的功能,也叫消息流转功能,将消息流转到各类中间件、云产品中。在华为、AWS、Azure、阿里这四个物联网平台中,阿里不支持流转到S3/类S3存储中。本文对比一下华为云、AWS、Azure把设备消息流转到S3/类S3存储的功能

参考资料

华为云

规则粒度和限制

功能实现

针对华为云,我测试了设备的消息上报转发到华为云OBS的功能。

流转规则需要指定obs桶,随后运行之后,华为云OBS体现为

关键路径截图

配置规则时指定到obs桶

image-20210614184348066

单条消息单个文件

image-20210614184522958

优势

可以非常轻易地查询出单个设备的消息,因为文件名携带有毫秒级时间戳,还可以指定具体

劣势

用来做MapReduce的话,文件数目太多,由于S3云厂商往往通过API调用次数收费,不仅是速度,成本也会很高。

AWS

规则粒度和限制

功能实现

再次上报数据触发规则会把obs中的数据替换。(通过版本控制可以获取到老的数据)

关键路径截图

配置规则指定粒度到Key

image-20210614165708645

仅有一个Key,新值覆盖旧值

image-20210614170447237

优劣势

AWS的这个模式很适合存储每个设备的最新数据。不过由于规则数量上的限制,最多只能在S3上存储1000个键值对。可用性较低。可用于数量小于1000的设备,存储、查询最新数据。

Azure转发

规则粒度限制

功能实现

自上报事件,到存储中出现数据,azure是最慢的,azure做了批量的缓冲,达到batch的大小和时间要求后才会写入存储。

关键路径截图

配置路由规则

image-20210614181514437

存储中批量数据

因为选择了avro格式,所以vim打开是乱码,不过明显可以看到是多条数据

image-20210614181738380

优势

Azure的这种方式,比较适合做MapReduce类操作,相对华为云来说,Azure的文件数量大大减少,如果用于做MapReduce这类操作,因为文件碎片小,作业速度会比华为云快,而且由于云厂商对存储,通常以api调用次数收费,价格也会比华为云低。

劣势

不易针对单个设备进行查询。

上一篇 下一篇

猜你喜欢

热点阅读