消息队列MQ可作为规则引擎对接的扩展增值服务使用,配合物联网套件,可形成具备设备接入、设备管理、消息分发、应用承载能力的高性能服务组合
消息队列MQ具有如下特点:
消息缓存
MQ服务支持消息缓存,可以有效的缓存由于网络或者应用服务器异常等原因导致的未能被即时消费的消息
队列缓存具有一定的容量上限,当队列容量达到上限后,服务将回收队列头部的数据
削峰去谷
MQ服务可以有效的缓冲前向突发的大并发量设备消息,以较低的较为平均的速率推送给消费客户端,从而减轻消费端压力
最多一次与至少一次
用户可以通过配置消息锁定时间来实现最多消费一次以及至少消费一次的消息模式,若启用消息锁定时间,在该时间内,若客户端无应答确认,则认为消费失败,锁定时间段之后,客户端可以再次消费到该未被确认的消息
消息过期时间
用户可以自定义消息过期时间,进入队列时长达到消息过期时间的消息将会被删除,即服务会删除进入队列超过一定时间的消息
顺序消息
对于同一个topic,所有消息按照先入先出(FIFO)的顺序进行发布和消费,保证严格的消息顺序性
消息回溯
支持用户自定义消费位置,重新消费队列中消息,例如设置为从头部消费,完成设置后,客户端将消费到来自队列中自定义位置之后的消息
只要消息没有因为超时或者缓存区已满而被删除,用户均可以通过指定消费位置重新消费到该消息
多方独立消费
服务支持用户为一个队列创建多个消费代理(sub),消费代理之间相互独立,可以分别采用不同的配置消费同一队列中的数据
单点消费与集群消费
MQ服务支持一个或者多个client同时与同一个sub(订阅 subscription)建立订阅关系
当多个client同时与同一个topic中的同一个sub建立订阅关系时,MQ服务会认为客户端处于集群消费模式,消息将被均衡的发送至每个client,且每条消息仅能够被一个客户端消费
1、添加服务实例
服务实例是消息队列MQ独立服务与计费的实体,目前支持用户创建最多10个实例。
在Onenet平台找到消息队列MQ
首次开通消息队列MQ有15天的免费体验期,同意开通后添加实例
添加完成后如图所示:
2、添加topic
一个topic可以理解为一个实际的队列实体,服务实例中可以创建多个topic。
直接点击新建的yuyun-mq-test
实例,进去后在topic管理页直接添加topic
添加成功后,如图:
3、添加订阅
点击查看新建的topic详情,进入topic详情页,在最下方点击“添加订阅”,订阅名称为yuyun-topic-data