Amazon web services AWS-IOT Mqtt代理是否跨客户端连接记住订阅的客户端和未送达的消息?

Amazon web services AWS-IOT Mqtt代理是否跨客户端连接记住订阅的客户端和未送达的消息?,amazon-web-services,mqtt,aws-iot,Amazon Web Services,Mqtt,Aws Iot,此处的AWS文档([)说明:- "message broker维护所有客户端会话和每个会话的订阅的列表。当在主题上发布消息时,代理将检查具有映射到该主题的订阅的会话。然后,代理将发布消息转发到具有当前连接的客户端的所有会话。对于所有匹配的会话在没有连接的客户端时,代理会保存消息,以便在客户端连接时传递。“ 然而,这里([)是这样说的:- message broker不支持持久会话(clean session设置为0)。所有会话都假定为干净会话,消息不会跨会话存储。。如果MQTT客户端发送的消息的

此处的AWS文档([)说明:-

"message broker维护所有客户端会话和每个会话的订阅的列表。当在主题上发布消息时,代理将检查具有映射到该主题的订阅的会话。然后,代理将发布消息转发到具有当前连接的客户端的所有会话。对于所有匹配的会话在没有连接的客户端时,代理会保存消息,以便在客户端连接时传递。“

然而,这里([)是这样说的:-

message broker不支持持久会话(clean session设置为0)。所有会话都假定为干净会话,消息不会跨会话存储。。如果MQTT客户端发送的消息的clean session属性设置为false,则客户端将断开连接

这是一个矛盾。请有人详细说明和澄清。
谢谢。

第一部分解释了向订阅的客户端发送消息以及在客户端连接和断开连接时传播消息的机制


持久会话意味着发送到代理的所有消息都保存到磁盘或数据库中,因此独立于客户端连接。

AWS IoT不支持持久会话(clean session flag=0)因此,在客户端断开连接后,它不会记住订阅的客户端或未送达的消息。它可能采用这种方法来最小化代理中的存储状态,从而允许AWS IoT解决方案扩展

截至2018年11月30日,您的第一个链接()中的文档已更新,仅说明:

MessageBroker维护所有客户端会话和 每个会话的订阅。当消息发布到 主题,代理将检查具有映射到的订阅的会话 代理然后将发布消息转发给所有 具有当前连接的客户端的会话


AWS IoT现在支持应满足您要求的持久连接。您可以在

上获得更多信息,因为我知道,持久会话可确保维护所有客户端订阅,并且即使出现中断或代理重新启动,所有未送达的消息也能可靠地传递。然而,正如AWS-IoT即使CleanSession=True,托管服务的可靠性仍然可以得到保证?我说的对吗?