The EMQ (Erlang MQTT Broker) is a "distributed, massively scalable, highly extensible MQTT message broker" with a reported "1.3 million concurrent MQTT connections" - so it potentially allows a large number of clients to publish and subscribe to it. It seems likely that some clients may be disconnected at any given time.
As this question What happens if Mosquitto runs out of memory to store QoS 1/2 messages? asks about Mosquitto:
In MQTT, messages with QoS 1 or 2 must be delivered at least once (QoS 2 messages must be delivered exactly once). If the client is not connected, the broker must store the message until the client is ready to receive it.
So how does EMQ persist QoS 1/2 messages until delivery, i.e. a reboot of the broker or with respect to memory limits?