消息存储页提供系统主题、父主题配置,主题消息堆积信息,以及kakfa集群实时状态。
系统主题
创建分布式消息服务MQTT默认创建3个系统主题,主要释义如下表:
系统主题 | 说明 |
---|---|
mq2mqtt | 用于云端服务向终端发送消息。发往该主题消息会转发至MQTT Broker实现云端与移动端互通 |
mqtt-device-connect | 记录设备每次连接MQTT Broker时的信息设备上线主题,内容 {"clientid":客户端ID,"ts":上线时间戳 } |
mqtt-device-disconnect | 存储设备每次断开MQTT Broker连接时的信息设备下线主题,内容 {"clientid":客户端ID,"ts":下线时间戳 } |
父主题配置
创建父主题创建的时候可指定消息类型,主要分两类:普通消息主题和分区顺序消息主题。
- 普通消息主题:用于发布和订阅消息的标识符。这些主题通常由发布者定义,并且订阅者可以根据自己的需求选择性地订阅这些主题。普通消息主题通常不以特殊的前缀开头,而是根据应用程序的需求定义的。
- 分区顺序消息主题:分区顺序是每个客户端发送消息的顺序性,通常与一些消息队列服务(例如 Apache Kafka)一起使用。
选择主题数据,点击删除按钮,确认后删除该主题。
主题消息堆积情况
消息堆积数=截止offset-当前offset
MQTT主题消息堆积情况是指在 MQTT 消息传递系统中,特定主题下尚未被消费的消息数量。这个情况可能发生在以下情况下:
1、 生产者速度快于消费者:如果消息生产者发送消息的速度快于消息消费者处理消息的速度,那么未处理的消息会在消息队列中堆积。这种情况通常发生在系统的负载不均衡或消费者处理消息的速度较慢的情况下。
2、 消费者不可用:如果消息消费者不可用或出现故障,那么生产者仍然可以发送消息到相应的主题,但没有消费者来处理这些消息,因此它们会在消息队列中堆积。
3、 持久订阅:如果消费者使用持久订阅来订阅主题,那么即使消费者离线,服务器也会保留未消费的消息,直到消费者再次连接并接收这些消息。这可以导致消息在服务器上堆积。
4、 消息重传:如果消息传递中启用了消息重传机制,未被确认的消息可能会被重传,从而导致消息堆积。
消息堆积可能会导致一些问题,如系统性能下降、资源消耗增加以及消息延迟。因此,在设计 MQTT 应用程序时,需要仔细考虑如何处理消息堆积情况,以确保系统能够有效地处理和管理堆积的消息。
一些常见的解决方案包括:
1、 增加消费者数量:增加消息消费者的数量,以提高消息处理速度。
2、 监控和警报:设置监控和警报系统,以及时发现消息堆积情况并采取措施来处理它。
3、 调整 QoS(Quality of Service)级别:根据需要调整消息的 QoS 级别,以平衡消息传递的可靠性和性能。
4、 定期清理不需要的消息:定期清理过时或不需要的消息,以减少消息队列的负担。
5、 使用消息队列管理工具:使用专门的消息队列管理工具来监控和管理消息队列,例如Kafka。这些工具通常提供了更丰富的功能来处理消息堆积情况。
主题状态
MQTT 主题状态信息是指用于描述某个特定主题的当前状态或属性的信息。在 MQTT协议中,主题通常用于发布和订阅消息,而主题状态信息可以帮助订阅者了解主题的当前状态或属性。
Kafka集群状态信息
Kafka 集群状态信息是指用于监控和管理 MQTT中云端Kafka 服务集群(了解更多请查看产品架构)的各种数据和指标。这些信息对于维护和操作 Kafka 集群非常重要,因为它们可以帮助管理员和开发人员了解集群的健康状态、性能指标和各种操作统计数据。