50 Million Concurrent PubSub Connection Infrastructure @ Hotstar
blog.hotstar.com
blog.hotstar.com
I investigated NATS Streaming but found some information that discouraged me from using it.
You can choose to send messages via any one of these QoS which suits your use-case. Apart from this, standard MQTT implementations also involve a "retain" flag for a topic and a message which means that the brokers will maintain the last sent message on the given topic. When new clients subscribe on this topic with "retain" flag set as true, they will instantly receive the last retained message.
Apart from these, there are more extensions that you can build to add persistence to your system. This depends on the specific MQTT implementations which you might have to find out.
There are multiple brokers for MQTT: Mosquitto, HiveMQ (Java), VerneMQ (Erlang), EMQ: the one we used (Erlang) etc. You can find out more brokers that are available as well.