|Re: [paho-dev] Paho - highly scalable?|
I don't think Paho Clients are and should be highly scalable. I personally are in favor of having rock-solid MQTT clients for real-world productive usage. So from my point of view, 3) can be dropped and be replaced with the mission goal of having production-ready rock-solid clients.
We have written several load tests with different approaches and the truth is, that we always had to write our own MQTT clients for that. Speaking of Java clients, there is the fusesource-mqtt client which is more scalable than the Paho Java implementation but it has many concurrency bugs when using under load, so I always recommend using Paho.
If there is interest for such a highly scalable and concurrent implementation of a Java MQTT client with a nice fluent API, we would consider bringing it to the Paho project. Beside the nice fluent API, this MQTT client also has a "low-level" interface for doing things like sending "raw" MQTT messages, which may be useful for testing the behaviour of MQTT servers. So you can for instance emulate faulty MQTT client behaviour with that. This client unfortunately doesn't run on Android (afaik) and needs at least Java 5. So I would not see a competing MQTT Java client to the current Paho one but a complementary one for testing tool implementations. Internally we're using this library heavily for our HiveMQ integration and specification tests and for distributed load tests.
Ian Craggs wrote:
Back to the top