大佬们好!有个消息不丢失和emqx在内存存储消息的疑问想请教。我们有3台机器组成的emqx集群,设备侧发送消息都是qos=1,后端有多个接收服务,采用共享订阅模式从emqx上sub消息。消息发布和投递的流程我理解的为:1、设备发送qos=1的消息。2、emqx接收到消息并存储到内存。3、emqx回复puback。4、emqx将消息投递给订阅端。假如在步骤3完成后步骤4还没有执行的期间,单个emqx宕机了,那么会不会导致消息丢失?因为设备已经收到puback了所以不会进行重试,但是消息还没投递给sub端。
有两个问题请教:
1、在上述场景下是否会有丢数据问题?
2、emqx保存消息是在内存中吗?开源版4.4是否支持存储到磁盘?
3、emqx集群是否有副本存储的概念,比如emqx节点1收到消息后,在其它节点上有副本存储,当所有副本都完全存储后再给设备响应puback?如果有,那么消息是否就会不丢失了
感谢大佬百忙之中予以指导!