qos1或qos2都会被2个订阅者订阅到消息

环境信息

  • EMQX 版本:4.3.11 amd64
  • 操作系统及版本: centos 7
  • 其他

问题描述

两个订阅服务订阅,topic = /test/+

客户端向发送消息 ,topic = /test/1
两个订阅服务都会收到消息,qos=2不应该只能一个收到消息吗?而且消息

订阅服务1日志:

2022-06-08 22:20:37.831|INFO|-|MQTT Call: emq-client_loc-paho34827527650326468|com.xxx.common.mqtt.MqttMessageCallback|82|messageArrived|MqttMessageCallback–>messageArrived–>msgId:13,qos:2 [消息内容脱敏]

订阅服务2日志:
2022-06-08 22:20:36.583|INFO||MQTT Call: emq-client_dev-paho640085379306300|com.xxx.common.mqtt.MqttMessageCallback|82|messageArrived|MqttMessageCallback–>messageArrived–>msgId:11,qos:2, [消息内容脱敏]

检查了zone.external.retry_interval = 30s,两个消息时间是没有超过30s的

配置文件及日志

QoS2 的消息不是指 ”仅有一个订阅者可以收到消息“ 而是 ”用于保证 EMQX 投递该消息保证仅到达一次“

如果需要前者的功能,可以参考 共享订阅