With a budget of perhaps a few million to setup a MQTT server farm how would you do so?
It must have the following properties:
MQTT Server brokers can be found here: https://github.com/mqtt/mqtt.github.io/wiki/server-support#capabilities
However capabilities are usually not published.
Although the Erlang powered VerneMQ MQTT broker is still quite new, there is nothing (besides RAM/CPU/IPs/Bandwidth) that should prevent you from opening that many connections.
make sure to set something similar to:
listener.max_connections = infinity
listener.nr_of_acceptors = 1000
erlang.max_ports = 10000000
erlang.process_limit = 10000000
in your vernemq.conf
disclaimer: I'am one of the devs of VerneMQ and happy to help you reach your 1M connections/server.