Hi, ActiveMQ Artemis does support MQTT and has an event driven architecture, using resource pooling to share threads and other resources across many connections. This does allow you to create many connections on a single broker, but I think 1 million might be pushing it. That said, I've not actually tested the max number of connections possible on a single Artemis broker. I imagine you'd either run out of memory or connections would start timing out way before you hit a million.
Horizontal scaling would allow you to scale brokers to accommodate more connections, if you've not got a great deal of data flowing through the broker this might be a viable option. See the Artemis docs on clusters: https://activemq.apache.org/artemis/docs/1.3.0/clusters.html. The bottleneck here though becomes the broker network as broker instances need to transfer a lot of data to keep in sync. Scalable messaging infrastructure, in cases like IoT is tricky. Myself and Dejan Bosanac gave a talk at last year's ApacheCon that covered various scaling mechanisms and talked about next gen scaling using Artemis and QPID Dispatch router. The slides might be of interest to you: http://www.slideshare.net/dejanb/messaging-for-iot Thanks Martyn On Mon, Jul 18, 2016 at 5:55 PM, Tim Bain <tb...@alumni.duke.edu> wrote: > Are you proposing using ActiveMQ 5.x, or Artemis? The former doesn't have > the concept of clustering (horizontal scaling is done by making a network > of brokers, but it can be very inelastic scaling depending on your use case > and network topology), and I've never tried it but I'm skeptical that a > single broker could handle a million concurrent consumers. I believe > Artemis has the concept of clustering, but I personally don't know anything > about that feature. Kafka is another product that many people use for > horizontal scalability in a messaging middleware solution. > > Tim > > On Jul 18, 2016 9:26 AM, "somnus" <775289...@qq.com> wrote: > > > I want to use activemq to be an IOT message transport server which using > > mqtt > > protocol. > > > > Is it possible? > > > > there must be many connections (stand-alone one million or more),but per > > message package is small( simple json command) and no need for > > persistence(maybe code a plugin to log commands in Hbase) > > > > so i configure like this ? > > > > > > > <transportConnectorname="mqtt+nio"uri="mqtt+nio+ssl://m2mserver:1883?maximumConnections=1000000&amp;wireFormat.maxFrameSize=102400""/> > > > > then use master-slave(in zookeeper) & broker-cluster model > > > > will work? > > > > > > > > > > > > > > -- > > View this message in context: > > > http://activemq.2283324.n4.nabble.com/To-be-IOT-mqtt-middleware-server-tp4714037.html > > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > >