For accuracy, let me mention that other options do exist for high scalability. Several brokers support clustering. Open source ones like verne.mq or rabbitmq.com, also, tackle the challenge of scalability differently. Typically, the subscription and session state is available on all cluster nodes enabling that an MQTT cluster appears to a device as one big server.
With that said, what Mosquitto horizontally scales with, is bridge capability where one Broker copies all messages to another Broker.
You can see a basic configuration example here: http://e.verything.co/post/62163759361/bridging-two-mqtt-brokers
You also should take a look at the MQTT Malaria to test the scalability of your setup https://github.com/remakeelectric/mqtt-malaria